Add support for expando objects

I made two small changes:
- Added support for expando objects (which implement IDictionary<string, object> but not IDictionary)
- Switched nunit.framework to pull from nuget

I wasn't able to figure out an easy way to write a unit test for the new generic IDictionary support, as .NET 3.5 doesn't have expando objects, and hence the only easily available implementation of IDictionary<string,object> is the Dictionary<string, object> that you're already using in your tests. But take a look at the code and see if it makes sense to you.