Support @Spy AbstractClass/Interface

Had to fix a few existing tests because ```spy(Class)``` doesn't like private ocnstructors.

I think the most common case would be for a test to ```@Spy PrivateNestedClass```. By default, private class's default constructor is private so these tests were implicitly calling the private constructor.

Another option would be to check and skip calling constructor for private constructors. Although, that would be behavior-changing too.
The alternative is to release it with 2.0 :) I guess it's better to have it earlier :)

It feels it should be doable: previous implementation uses default constructor, the new API also uses default constructor.