json: Improve ergonomics by changing &String to &str in methods and adding Indexing

Working with external `Json` is pretty unergonomic right now, and has a lot of unnecessary allocations, because everything needs to be converted to `String`.

`find`, `find_path`, and `search` now use `&str` rather than `&String`.

Indexing can be done with `&str` and `uint`, depending on whether the `Json` is an `Object` or a `List`.

[breaking-change]
With a number of recent changes to traits and such, you should actually be able to implement `ops::Index<&'a str, Json> for Json` as well as `ops::Index<uint, Json> for Json` without needing this trait, perhaps that could be tried first?