Enable stubbing and verification of static methods

Fixes #129 and #110 

A special set of methods *static() had to be introduced. The necessity for this is architectural and may be revisited later.

* verifyStatic() - asserts whether or not a static method was called (similar to verify() for non static)
* whenStatic() - sets the return value for stubbed static method in a moc
* resetStaticInfo() - Resets all static information stored for mocks. Very necessary if you are mocking any static methods. Can be called in the tearDown or setUp method
* verifyStaticCallMethodWith() explicitly verifies calls to __callStatic() (similar to verifyCallMethodWith() for __call())
* whenStaticCallMethodWith() explicitly stubs calls to __callStatic() (similar to whenCallMethodWith() for __call())
* resetStatic() - resets the static call recorder and mapper