Support @Spy AbstractClass/Interface

Fixes #126
backward compatible
Tidy-up, removed some duplication
Tidy-up, tweaked exception messages.
Improved an exception message
tidy-up, removed code not covered by tests, added TODOs
Tidied-up the tests and behavior

Changed the code so that we don't allow creating spies for interfaces (this is how it worked before recent changes, so it is a change that makes Mockito more backwards compatible). Tidied up tests and test names. Tightened test coverage.
Tidied-up the tests and the exception messages
Fixed the isSpy() behavior
Added TODOs.
Tidied up docs and coverage related to isSpy/isMock
Increment version '1.10.14' -> '1.10.15' by Travis CI build 332 [ci skip]
"Update release notes by Travis CI build 332 [ci skip]"
Refactoring: Remove erroneous question mark typo

Accidental ? on line 108 following the word EasyMock removed.
Merge pull request #131 from dhruvarora/patch-1

Refactoring: Remove erroneous question mark typo

[ci skip]
Updated javadoc

[ci skip]