bin/use2to3: Handle extension-less files correctly

The use2to3 tool previously only considered files ending in .py or .txt
to pass to 2to3. However, scripts have no extension and weren't being
passed to 2to3. This also required a hack when fixing the shebang lines.
Handle this by making a list of relevant files with no extension and
checking if the modified file is in it.
bin/use2to3: Use git ls-files

Currently, the script traverses the whole source and grabs all .py
files, skipping a few specific directories. If the user has some extra
Python files around they might crash 2to3; also, all files will be
copied to a new directory and this is not optimal. Instead, use
"git ls-files" to get a list of all the files tracked by git and only
copy those. The "old" way is removed.

Fixes issue 2673. Note that this approach is not faster than the old
one.
give a suggestion of how to fix use2to3
Use predetermined sequences instead of seeds in circuitutils tests

This fixes issue 3282, and is an alternative to pull request #1364.
Fix automatic symbols (isympy -a) to work with IPython 0.13

This also fixes a test failure (issue 3293).
Provide a docstring for element_sort_fn in sympy.core.sets.

While the meaning of element_sort_fn is quite clear after looking at the
code of FiniteSet, the fact that to understand it one has to look in a
different place may be misleading, therefore, a proper docstring is
welcome.
trigsimp traverses not only function but any Basic objects.

now this works:
In [1]: trigsimp(Subs(x, x, sin(y)**2+cos(y)**2), deep=True)
Out[1]: Subs(_x, (_x,), (1,))
In simplify call trigsimp(deep=True)
Merge pull request #1367 from asmeurer/auto_symbols_fix

Fix automatic symbols (isympy -a) to work with IPython 0.13
Merge pull request #1349 from smichr/2to3

use2to3 mods (replacing #726)
Merge pull request #1366 from asmeurer/circuitutils

Python 3.2 failure fix: Use predetermined sequences instead of seeds in circuitutils tests
Merge pull request #1371 from scolobb/element_sort_fn-docstring

Provide a docstring for `element_sort_fn` in `sympy.core.sets`.
trigsimp cleanup
Run doctests in Travis CI as well
Merge pull request #1373 from certik/travis

Run doctests in Travis CI as well
Forward the `deep` kwarg to the helpers inside trigsimp.
Merge pull request #1374 from Krastanov/trigsimp_deep

Minor improvements in trigsimp
Don't sort the elements of a FiniteSet.

This reduces the performance of the constructor of FiniteSet and is not
compliant with the definition of a set in the first place.
Make str.py and latex.py print FiniteSet in a sorted way.

The printer in pretty.py already sorts FiniteSet's, therefore no changes
are necessary in that printer.
Explicitly define FiniteSet._hashable_content.

Previously, FiniteSet would rely on Basic._hashable_content, which
returns .args.  FiniteSet would construct .args by frozensetting the
arguments it would get.  Apparently, this does not guarantee that
FiniteSet's constructed from the same elements will eventually have the
same .args, i.e., the order may change.  This commit makes FiniteSet
return the frozenset of its original args, wrapped in a tuple.  This
assures that two FiniteSet's with the same elements are equal (because
the corresponding frozenset's are equal), and keeps _hashable_content a
tuple.