adds support for ExpandoObject

I need to be able to pass an instance of ExpandoObject to the interpolation function, but currently that throws an exception.  This patch fixes the problem.

```C#
dynamic d = new ExpandoObject();
d.Location = "World";

var str = "Hello, {0:Location}".ToInterpolatedString((object) d);  // returns "Hello, World"
```