Move custom rf class outside the combsimp definition

This fixes, or rather, works around, a bizarre caching issue involving classes
defined inside functions.  See the discussion on pull request #1710.
Adds Derivative.as_finite_diff() and core.finite_diff with finite_diff_weights and apply_finite_difference
Change default step of as_finite_diff from sympify('h') to 1
Fixes Py3 error for test range+range
Moved finite_diff from core to series. Extended doc of finite_diff.
Updated Derivative.as_finite_diff() doc, tests and default step-size.
Merge remote-tracking branch 'upstream/master' into finite_difference
Fixed/updated docstrings with new master
Fixed docstring.
change rf to _rf in simplify
Test some basic properties of iterable()
Updated finite_diff according to feedback.

* finite_diff is moved from sympy.series to sympy.calculus
* Derivative.as_finite_diff got a new kwarg: ``wrt`` for use on partial
    derivatives, the arguments indep_vals and around were also renamed
    to points and x0 respectively.
* Derivative.as_finite_diff was refactored and made PEP8 compliant
* finite_diff.py and test_finite_diff.py were made PEP8 compliant
* Typos were fixed througout the docstrings
* A small part on finite differences were added to the tutorial on calculus.
Fixes to finite_diff in response to PR feedback.
Better tutorial text. [skip ci]
Updated aboutus.rst with finite diff work. [skip ci]
Merge pull request #58 from smichr/rf

change rf to _rf in simplify
Drop ancient oseries method
Drop _hashable_content (inherit from Basic)
Change dict.has_key(key) to key in dict
pep8: E211 whitespace before '('