Add support for abstract classes without parameterless constructor

The case for abstract classes that don't have a parameterless constructor needs needs to be specifically handled, otherwise Castle throws an exception when we try to create the mock object.

I have added support for that and I throw an exception consistent with Unity's when the constructor to use is ambiguous.