adding option to store bdist files in S3

- in addition to local file system
- uses PIP_S3_CACHE_BUCKET envrionment variable to indicate
  S3 use.
- option PIP_S3_CACHE_PREFIX environment variable sets a prefix
  (folder) to store the bdist files in, allowing for multiple
  OS-specific bdist folders.
fixing broken import of s3_cache_prefix
updated docs for using the S3 cache
removing expand_user from config.py

- not needed since these variables will be referring to S3
making S3 cache code check for optional boto dependency

- removing boot module from requirements
- adding documentation to say that boto module is required to use
  S3 cache option
moved S3 cache methods to __init__.py

- so they can be used for sdists if needed
- removed boot imports from top of files
- inlined several helper methods so the work with the local import of boot
fixing typo in link formatting
Merge pull request #33: Amazon S3 cache support

See also pull request #33 on GitHub:

  https://github.com/paylogic/pip-accel/pull/33

As discussed in the pull request I definitely see the value of being
able to keep the binary cache in Amazon S3. What I didn't like about the
pull request was that it introduced a call to store_file_into_s3_cache()
inside the module pip_accel.bdist. Conceptually that module has
absolutely nothing to do with Amazon S3 so that had to change :-)

This change set merges pull request #33 but also introduces a new
pluggable cache backend registration mechanism that enables cache
backends to be added without changing pip-accel. This mechanism uses
setuptools' support for custom entry points to discover the relevant
modules and a trivial metaclass to automagically track cache backend
class definitions.

The local binary cache backend and the Amazon S3 cache backend
(introduced in the pull request) have been modified to use the pluggable
registration mechanism. Maybe more backends will follow. We'll see :-)