Test basestring instead of str in Symbol

Also, raise TypeError instead of AssertionError on bad arguments.
Fix issue 3692 and modify tests accordingly
Tests for issue 3692
test_arit.py: tests for Mul.is_rational
use strategies.tree.greedy in fu
use uncompiled versions of CTR# in trees
add comments for chains and choices
fu takes objective function
add objective test
remove RL1/2 CTR1234 from fu namespace
remove underscores from RL1/2 CTR1/2/3/4
remove functools.partial import
change objective -> measure in fu
add docstring for measure in fu function
expose max and pow keywords on TR* routines
simplify FU dict
Merge pull request #1903 from mrocklin/fu-tree

Fu tree
Merge pull request #1894 from asmeurer/symbol_unicode

Test basestring instead of str in Symbol
Merge pull request #1896 from skirpichev/3692-int-assumptions

issue 3692 (old assumptions)
Merge pull request #1890 from placasse/bug_ask

Bug in ask