constantly relookup ip for etcd host

to ensure that you don't wind up in a race
condition that I have seen where the lookup
call returns the private address b/c the
public one is not assigned yet.

this will continuously re-lookup the address
until the specified command works.
Use single quotes to make escaping simpler
Export project_tag so that it can be looked up in subshells
Also set ip variable outside that loop
Merge pull request #185 from sorenh/relookup_etcd_ip

constantly relookup ip for etcd host
Ceph radosgw support

1. Ceph radosgw code
2. Added lb config for radosgw on haproxy
3. Changed keystone endpoints for radosgw to add complete swift url
4. Dont create keystone_accepted_roles as it was causing duplicate resource
errors for admin role.
5. Add radosgw to stmon and stmonleader roles.
6. Use latest release of puppet-apache as it support the stuffs we want to
configure for radosgw.

NOTE: I am using my branch for puppet-ceph to test this. After integration
testing and puppet-ceph gets merged, this will be changed.
SPEC tests are pending which will be added later tonight. Pushing this now so
the code can be reviewed.
Added more complete validation check

This patch addes more complete validation checks - now it will just go ahead
test various swift container and object operations.

Added spec tests.
NOTE: this is not handleing validation of S3, only swift checks are added.