Replaced clojure.data.json with Cheshire

Exposes Cheshire BigDecimal, key-fn and array-coerce-fn options as
body-params parser-map options hash-map.
Merge pull request #162 from Kaali/cheshire

Replaced clojure.data.json with Cheshire
Bump to 0.2.0-SNAPSHOT since #162 changes some service APIs
Parsing JSON keys as keywords is now the default

Fixes #110

This behavior can be overridden by constructing a `body-params` by doing
`(body-params (default-parser-map :json-options {:key-fn nil}))`.
Update CHANGELOG with 0.2.0 deprecation messages
Update relative links in CHANGELOG.md for 0.2.0
Failing test case for #89
Content-type interceptor that doesn't inject octet-stream

Unlike Ring's content-type-response function, ours does not inject
"application/octet-stream" if no existing or URI-based MIME type can be
found. This allows the current default-content-type of "text/plain" to
crop up.
Test that stresses content-type-response not meddling
Better dev tooling in app

- Use Piggieback library for better nREPL+CLJS support
- Include io.pedestal.app-tools.dev namespace instead of a locally
  generated dev.clj
Add io.pedestal.app-tools.build/expand-config for :watch-files
WIP: First attempt at expanding configs from dev tools
Make config.edn -> clj again; Load config when calling (start)

Ran into a problem with edn/read-string and eval. Basically entries like
'project-name.rendering come through edn into ClojureScript as a symbol
with a quote. Attempting to eval the body, however, fails because it
cannot locate the symbols in question

    (eval (edn/read-string "'project-name.rendering"))
    ;; -> CompilerException java.lang.ClassNotFoundException:
    ;;    'project-name.rendering, compiling:(NO_SOURCE_PATH:1:1)

Because of this problem and the annoyance/difficulty of interning
strings as regexps, it seems pertinent to keep the file as Clojure.

Since the config is still executable, but loaded via resources path,
what remains is the question: do we really need the new
expand-app-config functionality, or should we rely solely on functions
called inside that config?
Clean up template

* Remove dev/ and dev/user.clj - it is no longer necessary.
* Add empty config/user.clj - it is unfortunately necessary for
  :repl-options {:init user} to continue to work
* Tidy up app-template's generated project.clj
Switch to EDN config file to showcase non-eval problems

Steps to reproduce

1. lein sub install
2. lein new pedestal-app my-proj
3. In my-proj, launch repl
4. Eval (start)
5. Visit http://localhost:3000/my-proj-dev.html

Inspecting `config` shows what look like the appropriate symbol for
my-proj.start, but ClojureScript is choking on these symbols.
support :read-as option for message parameters in the data renderer

Using this

(msg/param :age {:read-as :data})

will cause the value collected in the Data UI to be read with the
Clojure reader. This allows one to enter arbitrary Clojure in the Data
UI without having to add the conversion code to transform functions.

For now, this should only be used for development.
Fix CORS preflight header bug
Merge pull request #166 from pedestal/data-ui-read-as

support :read-as option for message parameters in the data renderer
Unquote namespace symbols in config.edn

These quotes are no longer necessary, as reading EDN never evaluates
these symbols.
Don't be quite as eager about reloading config

It didn't make sense to conflate 'start' with 'reload-config' by always
reloading the config. Users may want to manually tweak the config at the
REPL and always reloading would prevent this.