Fixes bug 890946 - Added a page to execute custom queries.

@peterbe r?

I realize while opening this that there is still a lot to do:

- [x] Unit tests for the new views and models
- [x] Better job at hiding the feature behind waffle
- [x] Figure out what permission to use to hide that feature (maybe a new one?)
- [ ] UI tweaks, but that can wait

However, the core of the code is here, if you would like to take a look. 

Note: this is a very late Q goal. I would appreciate early feedback so we can make the review process fast.