There's no reason file create and truncate need to come through the
btree code, the block manager depends on the session/schema layer to
do locking, there's no reason it can't be called directly.
Fix shared cache so that reserve size is always initialized properly.

Also change how we detect if shared cache is used. It used to rely on
a name, now it will be used if the shared_cache configuration option
was included by the user.