use Decimal for numeric validate/store/retrieve
raise an exception on NaN and Infinity decimal values
Minor pep8 formatting
Add toggle to use Decimals with DynamoDB Layer2

The gist of this change is to refactor the
serialization/deserialization of python types to the format
that the dynamodb expects into a single "Dynamizer" interface.

This interface is then plumbed into Layer2 and can be passed in
via the __init__.  This also allows users to entirely override
this process if they need.

I implemented two types of Dynamizers:

* Dynamizer - Uses Decimals to handle numeric types.
* LossyFloatDynamizer - Uses int/float to handle numeric types.

I made the default dynamizer the LossyFloatDynamizer which will
maintain backwards compatibility (all of the dynamodb tests pass).

If a user wants to use decimals, they can either pass in the
appropriate dynamizer:

  dynamodb = boto.connect_dynamodb(dynamizer=Dynamizer)

or use the `use_decimals` convenience method::

  dynamodb = boto.connect_dynamodb()
  dynamodb.use_decimals()

If a user wants to customize this process, they can subclass
Dynamizer and either override `encode` or `decode`, or they
can override a specific conversion.  For example:

  class UnicodeDynamizer(Dynamizer):
    def decode_s(self, attr):
        return unicode(attr)

  dynamodb = boto.connect_dynamodb(dynamizer=UnicodeDynamizer)

I've added unittests/integration tests for the new functionality.
Fix deprecated warning in python2.6
Fix python2.6 bug converting floats to Decimals

tox is now happy with all the unittests.
Incorporate review feedback from disruptek

* Don't catch Exception, catch more specific exceptions
  when converting to Decimal.
* Mark the encode_X/decode_X methods as internal (client should
  use encode/decode which will delegate to the proper
  encode_X/decode_X method.
Implement create_dhcp_options()
Add an integration test for large integers

Noticed #1176 mentioned large integers so I figured
added an explicit integration test for this wouldn't be
a bad idea.
Add docs for dynamodb decimal changes

* Added docstrings
* Updated tutorial with section on using decimals
* Added boto.dynamodb.types to the list of modules
  for which to generate API docs.
Merge branch 'develop' into dynamodb-decimal

Conflicts:
	docs/source/dynamodb_tut.rst
Merge branch 'dynamodb-decimal' into develop

* dynamodb-decimal:
  Add docs for dynamodb decimal changes
  Add an integration test for large integers
  Incorporate review feedback from disruptek
  Fix python2.6 bug converting floats to Decimals
  Fix deprecated warning in python2.6
  Add toggle to use Decimals with DynamoDB Layer2
  Minor pep8 formatting
  raise an exception on NaN and Infinity decimal values
  use Decimal for numeric validate/store/retrieve
Merge branch 'develop' of git://github.com/bobveznat/boto into bobveznat-develop
Merge remote-tracking branch 'upstream/develop' into develop