Update tag and push functions

Per this line, https://github.com/dotcloud/docker/blob/61b675d3bb6a645f7f4683253f78f0f9ddfe5a22/api/server/server.go#L420, the docker api server expects the `tag` param to identify the tag being applied to the image.  Without adding `Tag` to `TagImageOptions`, it is impossible to actually use `TagImage` to apply any tag other than `latest`, which appears to be the default when no tag is specified.

Per this line https://github.com/dotcloud/docker/blob/61b675d3bb6a645f7f4683253f78f0f9ddfe5a22/api/server/server.go#L590, the docker api server also accepts a `tag` parameter for push commands resulting in a push of an individual image as opposed to *all* images for a given repository.

Also, both changes are strictly additive, so this pull request won't break any backwards compatibility with older docker api versions.