Initial schema & plumbing integration

*   Update defcomponent so the args behave similar to fnk args where its passed
    a map with :data and :owner keys. This allows components to be schematized
*   Add om-tools.schema namespace to help specify cursors in component schemas

Auxiliary changes:

*   Update our phantomjs polyfill to not throw error about improper instanceof argument
*   Upgrade om version
*   Upgrade clojurescript.test version
Reuse Cursor schema
Add arrow constructor for build convenience

When you defcomponent, also define a function to wrap om.core/build.

This function has same name, prefixed by "->", similar to defrecord semantics.
Add a state proxy to defcomponent

The map passed to a defcomponent's arguments contains a object at :state.
It is an atom-like object for reading & writing component state.
defcomponent: add docstring, support optional opts
Docstring updates
state-proxy moved to public pragma

And some trivial formatting
Add README content and CONTRIBUTING guide
Use plumbing 0.3.1
Use with-fn-validation
Add 'sliders' example
Merge pull request #8 from Prismatic/schema-plumbing-integration

Schema & Plumbing Integration