Add allocate_vpc_address plus minor documentation changes.

I wanted to allocate VPC addresses so I added a function. It would be cleaner to update allocate_address to return an object containing IP,domain, and allocation ID (VPC only) but this would break code that uses the existing functionality.

What do you think? This ugly but non-breaking change or can we update allocate_address?

Also there are some minor documentation updates in here.