sympy_parser: don't change attribute access into Symbols (#2663)

Only fixes the issue relating to attribute access, not keyword
arguments.
sympy_parser: don't change keyword arguments into Symbols

Fixes #3423 and #2663.
sympy_parser: Add tests for keyword args and attributes
Refactor sympy_parser
sympy_parser: Update tests to reflect new API
parse_expr: Allow override of globals
Add imports for tests
sympy_parser: improve documentation
Revert to old transformation API
Fix bug with _kern
sympy_parser: update docs
sympy_parser: update doctests
Change parse_expr API to be backwards-compatible
sympify: Include original exception in SympifyError
Python 2.5 compatibility
is_commutative: replace isinstance with subclass

Muls were not identifying as commutative
special case Mul in is_commutative
add stirling test to wester
add kernS to sympify.py
remove kern from sympy_parse.py