Create TeamCity API and refactor code to use it

 - class hierarchy that models the API queries and responses
 - concept of summary and detail for each build
 - pull out pin, VCS and other information in detailed view of build
Reinstate filter for successful builds
Unpin builds in TeamCity

 - Only unpin anything that we have pinned
 - Leave the most recent 5 (configurable)
Merge pull request #71 from guardian/teamcity-pin-housekeeping

Teamcity API & housekeeping