Ensure that `Catbox.Defaults.apply` preserves custom cache adapter options.

Previously, `defaults` could only be called once on a custom cache adapter,
as the resulting `"extension"` engine would not be recognized by subsequent
invocations. This caused an issue when using a custom cache adapter with
Hapi's `Pack`, which automatically calls `Catbox.Defaults.apply` during
initialization.
`Defaults.apply`: Tighten the type-checking for `settings.extension`.

`null` values are no longer allowed.
Merge pull request #35 from kitcambridge/custom-defaults

Ensure that `Catbox.Defaults.apply` preserves custom cache adapter options