Add possibility to configure RavenDB and SM

BrickPile ships with a default bootstrapper that takes care of everything for you.
If you add your own Bootstrapper to your project, derived from DefaultBrickPileBootstrapper, BrickPile will automatically detect it and use it in place of the default one.

Documentation is available here: https://github.com/brickpile/brickpile/wiki/Bootstrap-brickpile

Example of custom bootstrapper:

```
public class CustomBootstrapper : DefaultBrickPileBootstrapper
{
    public override IDocumentStore InitialiseDocumentStore()
    {
        // Replace the initialisation of RavenDB, using this option you are completely responsible for creating the document store
    }

    public override void ConfigureApplicationContainer(IContainer existingContainer)
    {
        // Register additional dependencies in the application container
    }
}
```