urlencode all path params

Tests and docblock included. Requires rebuilding of all apis.

It runs all the endpoint urls through `parsePath`, a new function defined in `lib/apirequest.js` - it handlers the string parsing ('my {param}' -> 'my value') as well as urlencoding the individual path components.

Closes #275.