Make the mutable default arg check very strict

Previously we were only checking for mutable literals. This adds checks
for any callable, which would include dict(), list(), etc.

Change-Id: I12e09f53cd00139549354906f3f4c08f689ff3e2
Expanded mutable hacking checks

Now that we don't need to support Python 2.6 we can easily add support
for sets, dict comprehensions and set comprehensions.

Change-Id: I7c25fbe4d3b42b2810034c7b30d6cc1beaea822b
Implements: bp remove-py26-hacks
Merge "Make the mutable default arg check very strict"
Merge "Expanded mutable hacking checks"