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

@SBoudrias 

As per discussion on #9 
Just pass down the default to `.read()` and handle all special cases there.