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
derivatives of Max() and Min() using Heaviside()

modified:   sympy/functions/elementary/miscellaneous.py
modified:   sympy/functions/elementary/tests/test_miscellaneous.py

* added fdiff for Min() and Max()
* added diff Min() and Max()
* implement simple tests of Max().diff and Min().diff
* use ArgumentIndexError for assertions in fdiff
Binomial coeff are not expanded by default
Include SympifyError in __init__.py
Made some fixes, updated some tests
Added functions for dnf format, added simplification tweak