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]
Ah, I didn't realise that, thanks. That's great.