Merge pull request #1900 from amitjamadagni/innerproduct

Issue 2187:IntQubit to work with inner products
polys: Dropped support for SymPy ground types
polys: Construct FracElement from (numer, denom) tuple
polys: Move DefaultPrinting before dict in PolyElement's bases
polys: Moved old PolynomialRing and FractionField to old_* files
polys: Don't allow to sympify DMP, DMF, ANP
polys: Allow compare PolyElement with ground PolyElement
Merge pull request #1904 from skirpichev/misc

issues 3565 and 3665; preprocess rsolve input
polys: Better error handling of missing or wrong generators in PolyRing
tensor/scalar theano function
support Rationals in theano printing
dim_handling supports alternative keys
theano prints integers as python ints
sympy.factorial -> theano.gamma
polys: Allow op(FracElement over a ring, element of a field)
theano printing: Transpose
polys: FracElement.from_expr() handle S(3,7)*x case over ZZ
polys: Use is_FiniteField instead of has_CharacteristicZero
polys: GeneratorsNeeded is a subclass of GeneratorsError
polys: Fixed a test in test_euclidtools.py