Refactored `CSURITemplate` to include comprehensive error handling

* Updates the API to include error references
* Removes stateful parsing on a per instance basis, enabling URI template objects to be reused with new sets of variables
* Added basic description method
Merge pull request #2 from blakewatters/feature/error-handling

Refactored `CSURITemplate` to include comprehensive error handling