Move to defcomponent/defcomponentk API

In an effort to provide a more consistent and useful API, provide two
"defcomponent" macros, where one supports fnk-arguments.

The `component` macro was exposed & advertised as a way to leverage om-tools
without buying into fnk-style arguments, however it is asymmetrical to
`defcomponent` macro and doesn't provide Schema features. This was mentioned as
a potential source of confusion.

These changes rename `defcomponent` to `defcomponentk`, and defines a
`defcomponent` that is based on `schema.macros/defn` and supports Schema
annotations, so that the API is symmetrical and follows defn::defnk analogy.

See CHANGELOG.md additions for full 0.2.0 changes.
I know this is from a different commit, but is there a reason for this #+cljs to be inside this function rather than right before?