Moved proxy generation to new Spy factory
Moved method recording from SubmatcherMethodInterceptor to Spy
Moved spy storage from Submatcher to SpyHolder
Ensured that SpyHolder.getSpy always returns non-null
Introduced SpyHolderRule to clear current spy before tests
Formatting