Test and build tagging improvements.

Our old system of doing build tagging involved adding assembly info; however I've since discovered that `CKAN.dll` would not reliably read this until it had been repacked into `ckan.exe`, which is a bunch of future bugs waiting to happen.

We now directly inject versions into `Meta.cs` during the build process, which is much more reliable. We also have less dependency on reflection, so this *may* pave the way to a Mono 3.5 build in the future.

This PR also adds some tests to make sure the command-line client runs and produces a sensible version number. It also fixes a bug that would have bitten us in the future with regards to spec handling.