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
Yeah, I just did this as the `section` method had `opts` as a parameter originally. was shorter than doing `self.opts.fetch(key, 1)`. Changed that though so I can get rid of this now.