modelType == null -> typeof(DynamicObject) instead of typeof(object). This will only change the "new" IRazorEngineService API. I think using "null" for "dynamic" is kind of nice (as typeof(dynamic) will not work).
add modeType parameter to Include.
better handling of the @model directive (cache the template under the dynamic and its static type).
Fix for #67 and #103.
We now support any kind of anonymous type (list of anonymous for example):
When we use dynamic (modelType == null) and wrap our object in RazorDynamicObject the object never leaves its appdomain (because it is wrapped in a MarshalByRefObject) at the same time we dynamically fetch all Invocations and transfer them to the original. Then we execute the Invocation on the original object and return the result (which is itself wrapped when it is not a primitive).

This way we can also support types that are not serializable even when we are in the IsolatedRazorEngineService case (at the cost of performance)!

This commit copies some classes from the Impromtu project (https://github.com/ekonbenefits/impromptu-interface). We copied them so we have no additional dependency (and because some classes are not marked as serializable in the original code).
Maybe we can make a seperate nuget package in the future with an opt-in API for this (RazorDynamicObject) and an Impromtu dependency.
Fix .net40 build, wrap IRazorServiceEngine and move the anonymous type support  into the wrapper (so that it works on the normal and the sandbox case). Added IConfigCreator so we can configure the IsolatedService.
We now dynamically implement all interfaces (create a type that implements all interfaces)... This will make Linq Extension methods (and all extensions based on interfaces) work. We also search for explicit members now.