#1 - Added ability to specify own default values for certain types
* Introduced Values interface - the user provides an implementation to tailor the values used for the fields which are subject for stubbing
* Renamed default value provider from Default to DefaultValues and made it implement the Values interface. Decided not to make DefaultValues final so users can extend this class for their own Values implementations
* Renamed Stub method withProvidedValuesFor to withValuesProvidedFor to align with the chained method calls which are required to specify own default values, which is on the form: with(Values).providedFor(T, Function)
* Added test case
* Updated javadoc
* Updated project documentation with renamed method name