Content search

There are still a few bits left to implement, but what's implemented so far works, so if @robertberry and @janua are happy with the way this is going, I'd like to merge it to master.

![gif](http://1.bp.blogspot.com/--gz5xQ8jSEk/UTN72ruHx3I/AAAAAAAABYk/V5WrHSQw7G0/s1600/io.gif)