Teamcity API & housekeeping

The main aim of this pull request is to unpin builds that are no longer deemed usefully pinned.  We pin a build every time that someone deploys to PROD.  It's useful to prevent TeamCity cleaning up previous versions in case we need to roll back.  Thus I deem useful pins to be the last 5 pins that we've made.

The new code reviews the list of pins and, if there are more than 5 pins, will remove the older ones to leave only 5.

This was also the straw that broke the camels back, in so far as I re-factored the TeamCity code to be a coherent API.  Unfortunately this makes use of play's Web Services API, so cannot easily be extracted into a library.