Schema editor changes

Many changes to DatabaseSchemaEditor API to provide more hook points for 3rd party backends.