Make isympy importable in Python 3

That way, if someone runs python3 bin/isympy, they will get the "this is the
Python 2 version of SymPy" error message instead of a SyntaxError.
Sort output of dotprint according to args ordering

This makes the output to the dotfile use this ordering (previously it used
len), and also adds the ordering="out" flag to the file (see
http://stackoverflow.com/a/9216782/161801).

I didn't add a way to change the ordering.  The previous one, len, would
roughly order the nodes from biggest to smallest, but not exactly, since it
was a len on the string rather than a len on the nodes.
Some updates/cleanups to the README
optimized loop over subsets in ``dup_zz_zassenhaus``

In this commit factorization is much faster than in master when
the loop over the subsets is long; e.g. with

``minpoly(S('sqrt(1 + 2**(1/5)) + 2**(1/5)*sqrt(1 + 2**(1/5))'), x)``

the resultant has degree 100; it is factored 150x faster in this commit
than in master; the loop over subsets has 6e5 cases, but only 1000
of them pass the test on the constant term.
In this commit it is attempted to choose ``p`` such that there are
fewer factorizations over Z_p[x]. There is a small overhead for this.
faster ``swinnerton_dyer_poly`` using ``minimal_polynomial``
2695: Pretty print of -x/y

Implemented one possible solution: Shift denominator one character
to the right when certain conditions apply:
- Numerator is negative,
- Numerator is even width,
- Numerator is wider than denominator.
2695: Pretty print of -x/y

Implemented one possible solution: Shift denominator one character
to the right when certain conditions apply:
- Numerator is negative,
- Numerator is even width,
- Numerator is wider than denominator.
Merge branch '2695_pretty_print_fractions' of github.com:nelsoner193/sympy into 2695_pretty_print_fractions

Getting everything to play nicely together, while making sure my branch
is updated.
Note where the built docs
added explicit cases ``n=1,2,3`` in ``swinnerton_dyer_poly``
in ``_test_pl`` changed the case ``q == 0`` to allow factorization with
``fc = 0``
Issue 3879: fixed docstring error when pyglet is install.
Lambdify uses Dummy

Within lambdify, lambdastr specifically, all over the provided args are
replaced with Dummy symbols within the expr to be evaluated. This allows for
substitution of things with unfriendly names, such as AppliedUndef's (e.g.,
x(t)).

Before this failed:
  >>> t = symbols('t')
  >>> x = Function('x')
  >>> y = x(t)
  >>> lambdify(y, 2*y)

Now the above works.
Added test for lambdify changes

Now tests that providing an AppliedFunction as an arg into lambidfy actually
works.
Rewrote the changes to lambdify

Now in lambdastr, the default behavior is not to dummify everything; it is a
kwarg option. When lambdstr is called by lambdify though, dummify is set to
True. The justification for this is that if lambdastr is called directly by a
user, they might want to observe the output, in which case all Dummy symbols
would be confusing; if lambdify calls lambdastr, they won't be able to see the
output, and the lambdastr readability doesn't matter, making the increased
range of input arguments worth it.

In addition, translations from ImmutableMatrix -> matrix needed to be added, as
calling sympify on a Matrix results in an ImmutableMatrix.

A few tests were added to ensure that the new lambdify functionality works.
Rewrote lambdify for better usage of dummies

Now, dummies are only substituted in when a numerical output is going to be
used. Additionally, dummies are only substituted for args which are symbols or
functions. Tests added to make sure error is raised for incorrect usage.

Also, instead of using subs, it now uses xreplace.
2695: Pretty print of negative fractions

Added tests, normalized some things, and improved the method for
printing negative fractions: If the numerator is negative, we
simply pad the numerator's width with a space on the right to
match the negative sign spacing.
2695: Pretty print of negative fractions

Removed commented-out debugging lines. Whoops.
Merge branch 'master' into 2695_pretty_print_fractions