Bugfix: mocking method using varying number of params

Hi,

The PR #100 introduced a bug - if a mocked function makes use of varying number of arguments and has a parameter with a default value, the CallExpectations registers only the first argument.

I implemented a test that fails with the #100 code, so I guess that @RickWong can re-implement this functionality using the test to make sure that it does not break anything.

The PR contains also a revert, let me know if you want to keep it like that or I'll just propose the test.