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

@SBoudrias 

As per discussion on #9 
I agree. I think that will keep this API clean and simple. I would love to hear any ideas you may have to simplify the **editing** scenarios. I think creating a higher level API might be ideal.