extract DB related operations to a separate module
enable plugin registration

separate plugins module is responsible for maintaining plugins
repository
'lifts' plugin is registered by default
app.plugins.register(name, module) - can be called to add additional
plugins
use async module
separate loaders to allow for async data init

After moving resort loaders to a separate files, data module is now
responsible for loading resorts.

The initialization is now asynchronous: we don't start the server until
it's completed.