Version 2.0

Big refactor, turned out basically the same.

  - No more global error states (yay!)
  - Added `Ficus.load` so configs can be read from a string (Issue #6)
  - basic type checking (`:number`, `:string`, `:boolean`) (Issue #11)
  - full feature parity with 1.0
imo: this method is pretty trivial, might not be worth having it? ie, any invocation of ```self.opt(key, 'default')``` can easily be replaced by ```opts.fetch(key, 'default')``` ... looks like just about as much code, and slightly less indirection :).