Add application.jsdoc

This is coming from three sources, james' great application docs pr from earlier, the application.md, and application.js (true source of knowledge)

A couple note-worthy things:
1. The new jsdoc has a lot more information about parameters and the extent that they're overloaded. I'm trying to document all the possible params options hashes take. Also, give examples for each permutation
2. The examples are an example for a explaining how things work. A lot of the reason why the markdown docs were a mess was that it was confusing, how thing were related. The examples in the new jsdoc make that much more clear

Updates to jsdoc:
+ class properties. This was always going to be a thing, but this is the first time they were really used. properties look like functions in that they can just be a description, or description + examples
+ constructor. This was also always in the works, but first time it was used. Like functions and properties it can also be description or description + properties.



```diff
- you do
+ you
```