Mono module and engine selection

**Async/await and dynamic are coming to scriptcs!**

Adds the Mono module (with Mono engine), adds a Roslyn module (with the existing Roslyn Engine), and adds automatic engine selection with override.

Using override one can force the Mono module to be used on windows "-modules mono". The benefit being **async/await** and **dynamic** both work!

The default engine selection algorithm selects Roslyn Engine (Roslyn CTP) for Windows and Mono Engine if running on *nix. 

The advantage of still using Roslyn CTP is it is faster, and supports loose functions thus we kept it as the default.

As part of this PR, we introduce inline modules as a concept. An inline module is a module that is in the scriptcs bin folder and distributed with the project. Both the Roslyn and Mono modules are inline modules now.

---
EDIT (Adam)
Clarification: The #444 branch (this PR) is based on the #623 branch, which is PR'd in #628.