Add network tags client

This patch creates the network v2.0 tags client. Unlike
most network clients, this client cannot use
update_resource for create_tag (which does self.put)
because create_tag returns 201 but upstate_resource
asserts that 200 was returned. Similarly,
check_tag_existence cannot use "check_resource"
in ``BaseNetworkClient`` because it doesn't exist.

This patch also adds unit tests for the new ``tags_client``
and API tests for the network tag extension. To make this
patch easier to review, tests for the network tag-ext
extension have not been added. The difference between
tag and tag-ext is that tag only supports the network
resource and the tag-ext supports other resources like
subnets, routers, etc. [0].

[0] https://developer.openstack.org/api-ref/networking/v2/#tag-extension-tags
Change-Id: Icfff444ee7638a3220d228330f9162044673636c
7 files changed