Fix saved objects

This handles several important things

- 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
  - Usually encourages you to delete the savedObject
- Saved Dashboard objects in BETA1 had an indexPattern when they shouldn't, this will ignore and remove them
- Apps will not 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