Changes in database extension loader

Instead of context class loader, it will explicity use the Loader that
has loaded the DatabaseLoader class as parent. Ensures integrity with CanaryClassWatcher.

Instead of a singleton pattern, the database loader  now expects a 0-argument contructor.
Exceptions will be thrown if that particular condition is not met.

Closes #143