Adding support for automocking types with parameters that have constructors with parameters

Hi Tim,

I think I got enough of the github figured out for now - I know I'm a few years behind but it's really cool, thanks for the intro :)

Here are the changes I mentioned before, and I looked at the test additions you suggested, for example:
```
var instance = new MockInstance(typeof (ISomeInterface));
Assert.NotNull(instance.Value);
var mock = Assert.IsType<Mock>(instance.Value);
Assert.NotNull(mock.Object);
```
These tests were failing with my changes but I think it's because instance.Value is the same as mock.Object, which is the dynamic proxy of the actual object and not the mock itself.  I would suggest that we implement these tests in the following manner (the differences are on lines 3 and 4):
```
var instance = new MockInstance(typeof(ISomeInterface));
Assert.NotNull(instance.Value);
var mock = Assert.IsType<Mock<ISomeInterface>>(instance.Mock);
Assert.NotNull(mock.Object);
```
What do you think?

Greg