Changes to MicroKernel to support adding custom controllers and configuration.

Changes to MicroKernel to support adding custom controllers and
configuration.  Changes allow injecting a custom data and index path via
a custom implementation of the IBasicServerConfiguration interface.
Custom data and index paths require a custom Data controller to handle
downloads of source and pdb files.