Added a nicer exception on galaxy connection problems

- Added ConnectionError exception class
- Checked status code for galaxy we requests to make sure only 200 cases are parsed for json (i.e. avoid json exception) and raise a ConnectionError instance to help users work out what is going wrong.
- NOTE: test cases were not run so please check them before you merge this.