Use CASSANDRA environment variables in tests

This allows us to do testing using a Cassandra server on another host
besides localhost:9160. This will be useful for using Docker pointed at
another container.
Set defaults for os.environ.gets in test
Make sure cassandra_port is an int

Otherwise things panic by being dumb
Move cassandra_host settings to unitgration tests
removing hard-coded max entities

while creating scaling group
AUTO-547: logging tenant/group/policy id when exec policy from webhook hash

removed existing cap_log since it is done already in with_transaction_id. Changed test accordingly

TODO: Add test for this binding
Merge pull request #339 from rackerlabs/max_entities_fix

removing hard-coded max entities during create_scaling_group
timeout_deferred in deferredutils, add a retry function and tests

Conflicts:
	otter/util/deferredutils.py
Add function that will handle wrapping an error with TransientRetryError
Add test case for already fired deferred, and bug fix
Changed retry to take an interval function and can_retry function instead
Add test to make sure intervals are not repeated - if the interval function returns a new value, the next retry is scheduled at that interval
Refactor the bulk of retry out to a private class, so things don't have to be stored in lists

Conflicts:
	otter/util/deferredutils.py
Move the retry function to its own module so that default functions can be implemented

Conflicts:
	otter/util/deferredutils.py
Provide a default can_retry function
Merge branch 'master' into auto-178-groups-create
Provide a default next_interval function
Provide a convenience function that both times out and retries

Conflicts:
	otter/util/deferredutils.py
Add tests for synchronous do_work function, as per @dreid's suggestion
test for log binding

and using the log in errbacks too like @dreid suggested