Wiring up module loader to load at runtime

Finishes out #346

* Modules are now automatically loaded when running scriptcs.
* Modules can be specifically specific using "-modules module1,module2"
* Modules will also be automatically loaded matching on extension, i.e if a module is registered for csx files it will be loaded whenever a csx file is executed. This is useful for fsharp integration.

## A few other significant changes as part of this.

* ScriptRuntime and ScriptRuntimeBuilder are gone and replaced with ScriptServicesBuilder. To host scriptcs using all defaults, you just need to create this. Setup is much easier using the new builder.
* ScriptServicesBuilder.LoadModules is used for loading modules.
* New InitializationServices and RuntimeServices classes are introduced for managing the initialization and runtime containers. These are all implementation details in the new design.
* Autofac dependency is moved to ScriptCs.Hosting and is no longer in core.

## Fixes

* Fixed logic for detecting repl mode so you can now pass multiple params without a script and still go to REPL, needed for allowing the -modules param.