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
My intent was a ficus object per file. If you want to do something like this, you can still do it by creating a `ficus_template` and pulling the `schema`  from that and assigning it to other `ficus` objects. Something like this should be doable:

```ruby
ficus_template = Ficus.new({})
ficus_template.validation do
  # DSL stuff
end

f1 = Ficus.load_file 'f1.conf'
f2 = Ficus.load_file 'f2.conf'

f1.validation(ficus_template.schema)
f2.validation(ficus_template.schema)
```