Artifacts branch

I readded the artifact methods. And this one (contrary to the last) should be on the restructure branch and not master.

The old artifact methods all had a buildConfigId as their first parameter and since we want to move towards a sort of heirarchy rather than expressive methods I added a subclass to wrap it. This allows us to write something like:

```new TeamCityClient().Artifacts.ByBuildConfigId("bt1").LastPinned().Download();```

I was also considering making the artifacts retrievable through a method on the ```Build``` class.

While I don't think this is ready to be merged yet (I'm not sure what to call the new classes and they're just dumped in the same file), I would like to get a discussion going.