ditch: Rewrite the API handling between versions

This is a big change that allows me to completely remove the dependency
on `sed` to normalise the API.  @keenerd demonstrated the use of `-C`
with `jshon` which allows me to continue even if jshon fails to extract
the desired key.  This can be used to essentially define two extraction
paths at the same time, only popping back to the beginning to attempt
the next.

The only downside to this is I will inevitably collect the key 'null
null' (multiple keys in fact but I only store unique keys) which is
removed from the results, thus if the user 'null' streams with the title
'null' it will be list.  This is a nicer solution than using regex or
keeping the null entries which may or may be a false positive as it
depends on the least amount of assumptions.