NH-2401

Implementation and simple unit test
https://nhibernate.jira.com/browse/NH-2401
@oskarb @hazzik: Debugging the code, it is clear that the parameter type is being correctly set, but I'm not sure how to do it in a unit test, have you got any suggestions?
should be 

3 lines above should be
```var mce = targetObject as MethodCallExpression;
if (mce != null)
{
```

Why? Because `is` and `as` is exactly the same opcode in CIL - is inst.

In degug mode `targetObject is MethodCallExpression` will be compiled to `target as MethodCallExpression != null`
In release mode to just `target as MethodCallExpression`