Json aggs

Closes #1731

This had become a larger project than expected, partly because I started going about it the wrong way and created tests along the way for parts that weren't really related. But, at least more things have tests now...

This PR adds a JSON input to the agg builder. The intention is that you can take a JSON ES query from elsewhere, drop it in this input, and get the results in Kibana without having to build it by hand. 

**Note:** Any JSON data put in this input will clobber input from any other fields in the agg builder. 

- adds `raw_json` param type and control, with tests (100%)
- `query_input` component is now the `validate_query` directive, with tests (78%)
- `debounce` service created, with tests (100%), and `validate_query` uses it instead of `_.debounce`
- the `input-error` css class was abstracted out, with hopes to re-use it elsewhere (now in `_input.less`)
- `validate_json` directive was added, with tests (100%)