Merge remote-tracking branch 'sympy/master' into derivsubs

Conflicts:
	sympy/core/function.py
Fix _extract_facts: don't fail if expr is bool
Fix @slow failure in test_query.
Merge pull request #2389 from asmeurer/polysbench

Explicitly define variables in the polys benchmark
Moved matching of user defined infinitesimals to classify_ode
Fix issue 3633: raise if assumptions are not satisfable
Fixed a typo
Made the following changes
1] Added ode_1st_power_series for first order differential equations
Merge branch 'master' into HEAD

Conflicts:
	sympy/printing/theanocode.py
Adding more functionality to RootSystem
Removed old commented out lines
Added @XFAIL test
Updating classes to use __new__ instead of init
Merge pull request #2379 from Manoj-Kumar-S/constant

Added XFAIL test for dsolve
Merge pull request #2394 from skirpichev/3633-inconsistent-assumptions

Fix issue 3633: inconsistent assumptions
Fixing some doctest errors
Simplify debug() code; print a space between the arguments
Add many debug() calls to init_printing
Print debugging information to stderr
Change preview to use BytesIO instead of StringIO

This fixes it to work in Python 3. Since BytesIO is available in Python 2.6,
the use of StringIO has been deprecated. See
https://code.google.com/p/sympy/issues/detail?id=3984.

This fixes, in particular, init_printing(use_latex='png') in Python 3.