Add tests for idempotency

Currently the new tests fail.
Wrap zip() calls in list() to preserve Python 2 semantics
Wrap map() calls in list() to preserve Python 2 semantics

Closes gh-53
Fix tests for map fixer
Preserve Python 2 semantics by wrapping calls to filter() in list()
Make the range fixer idempotent

Along the way, move the fixer over to `lib2to3.fixes.fix_xrange` to
piggyback on all the work done there.

Closes #52 .
Merge pull request #55 from takluyver/zip-map-list-wrap

Preserve Python 2 semantics for zip(), map(), and filter()
Merge pull request #60 from brettcannon/fix_range

Fix range to be idempotent