Accepts a defaults value for read() and readJSON() returns the defaults content instead of throwing error

@SBoudrias 

As per discussion on #9 
The spy need to be cleaned up after the test.