Category methods on Client

Added category(id_or_name) and categories methods to Client. Started refactor of the specs, not finished but let me know what you think so I don't waste loads of time!