Fix restapi bugs

* urljoin splits on /, but the results often had empty strings which
  was causing problems. This nixes the empty strings
* RestAPIException didn't originally take kwargs--now it does. That
  makes it easier to pass additional data through the exception on
  what the Response looked like
Add test case for urljoin
Add steve.util.get_all_categories for NDV

* this adds steve.util.get_all_categories
* this adds more restapi docs so it's clearer what the exceptions
  hold
Update push command to use get_all_categories
Update hacking docs regarding tests

We have one test now, so I can take out the bit about testing being
a total lie.