Add support for tagged RDS DBInstances

These commits add support for listing, creating and removing tags to and from RDS-DBInstances (ListTagsForResource, AddTagsToResource and RemoveTagsFromResource API calls).

Amazon requires an ARN to reference the DBInstance on which the actions are performed, but doesn't supply this ARN, afaik. I added a property to the DBInstance-class, which uses IAM (for the account-id) to construct the ARN itself when asked for. It's not very clean, but I didn't see another way. If Amazon does supply the ARN in another way, or in the future, this could easily be removed while retaining backwards compatibility.

I'm hoping to add support for a TaggedRDSResource, similar to the TaggedEC2Resource.

I welcome your thought and suggestions!

PS: this is the same pull-request as #1050, but from it's own branch



[update 2012-11-06]
Implement classmethods for getting, adding and removing tags as methods from boto.rds.DBInstance. This is different than the implementation of EC2 tags. This is due to differences in the API: the EC2 API offers tags for more than just Instances, hence the superclass TaggedEC2Object. It also supplies all tags from a resource in each DescribeResource API call.

RDS only offers tags for DBInstances, and separate API calls are needed to retrieve them.

However, the interface for the user (dbinstance.tags, dbinstance.add_tag(key, value) and dbinstance.remove_tag(key)) is the same as for EC2 tags. If Amazon in the future does provide tags in the same way as EC2 tags, this could easily be refactored  (and maybe even use the same superclass).