Add Bucket.copy_key impl from PR #99, with tests.

Hand apply / fix up patch from gsalgado's un-mergeable commit:
https://github.com/gsalgado/gcloud-python/commit/1c80d618f265c01ac01a794b5af12f03a6438fb1.
Add Key.rename from PR #99, with test.

Manually applies patch from gsalgado:
https://github.com/gsalgado/gcloud-python/commit/1c80d618f265c01ac01a794b5af12f03a6438fb1

But changes semantics to return the new key instance, leaving the original
key unchanged.
Ensure that Key.rename actually deletes old key as documents.

Incorporate feedback from @dhermes.
Merge pull request #224 from tseaver/pr_99-gsalgado-master

Rebase PR #99 and fix up
Suppress unit test coverage checks in demo code.

Having coveralls complain about uncovered functest / demo code is not helpful.
Silence Python 2.6 deprecation of exception.message.
Merge pull request #227 from tseaver/silence_py26_deprecation_for_exception_message

Silence Python 2.6 deprecation of exception.message.
Merge pull request #226 from tseaver/coverage-ignore_demo_modules

Suppress unit test coverage checks in demo code.
General outlook on JS regression tests.
Ditching environ module, allowing argparse to fall back to environ vars.
Local temp.