Fix saved objects

Fixes #1625 
Fixes #1624

This handles several important things

- In the savedObject list, clicking on the item brings you to edit mode instead of view mode
- When a savedObject's indexPattern is missing, it takes you to the savedObject editor 
  - Uses raw ES queries so the savedObject can be removed
    - Previously, you'd be stuck in a loop asking you to define an index pattern
- `RedirectWhenMissing` now appends the missing param to the URL
- The savedObject editor looks for the missing param in the URL and shows an error message about it
  - Encourages you to delete the savedObject
- Saved Dashboard objects in BETA1 had an indexPattern when they shouldn't, this will ignore them
  - Will also remove the indexPattern when saving/updating
- Apps will now fatally error on an unmatched `redirectWhenMissing` condition instead of just clearing the session

There's also a tiny amount of code style fixes and debugging cleanup

Big thanks to @spenceralger on this one