Preparatory work for OPENDJ-1477: Constant re-allocation of DN per-schema caches
CR-4331: Ensure that the same schema instance is always returned across consecutive calls to Schema.asStrictSchema() and Schema.asNonStrictSchema() by delegating ownership of the schema views to the underlying implementations. The changes required that I remove the EmptyImpl schema implementation, which is actually a nice simplification:
* DefaultSchema - renamed to more appropriately named DelayedSchema
* DelayedSchema - renamed from DefaultSchema. Now also initializes the singleton "empty schema"
* Schema - remove EmptyImpl; Impls now responsible for managing strict and non-strict views
* SchemaBuilder - consequence of changes to Schema
* SchemaTestCase - enabled tests.