Scheme Improvements

fixes this [issue](https://github.com/deloreanjs/delorean/issues/41)

This enhancement is focused on getting `scheme` to scale. Ultimately, it is not practical to recalculate every `scheme` property on every `set` call. This allows developers to define `scheme` dependencies, which will allow delorean to only update calculated properties that actually need updating. Another important enhancement here is the ability to pass an object to `set`. This will allow developers to pass an entire server response rather than having to set each property individually.

Added:
- ability to pass an object of key/value pairs to `set`
- require developer to define a `deps` array on calculated properties to allow for efficient recalculations (ie `calculate` only runs when one of the `deps` is `set` or calculated)
- added many `scheme` tests to cover new and existing `scheme` functionality
- updated docs to reflect changes

see more in the updated [store docs](https://github.com/deloreanjs/delorean/blob/scheme-deps/docs/stores.md#advanced-data-structure-with-scheme)