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
Expansions for harmonic numbers at general rational arguments n + p/q

In [2]: harmonic(2/S(3))
Out[2]: harmonic(2/3)

In [3]: expand_func(_)
(0, 2, 3)
Out[3]: -log(6) + 2*Sum(log(sin(_k*pi/3))*cos(4*_k*pi/3), (_k, 1, 1)) + sqrt(3)*pi/6 + 3*Sum(1/(3*_k + 2), (_k, 0, 0))

In [4]: pprint(_)
              1                                            0
             ____                                         ____
             ╲                                            ╲
              ╲      ⎛   ⎛k⋅π⎞⎞    ⎛4⋅k⋅π⎞     ___         ╲      1
               ╲  log⎜sin⎜───⎟⎟⋅cos⎜─────⎟   ╲╱ 3 ⋅π        ╲  ───────
-log(6) + 2⋅   ╱     ⎝   ⎝ 3 ⎠⎠    ⎝  3  ⎠ + ─────── + 3⋅   ╱  3⋅k + 2
              ╱                                 6          ╱
             ╱                                            ╱
             ‾‾‾‾                                         ‾‾‾‾
            k = 1                                        k = 0

In [5]: _.doit()
Out[5]: -log(6) - log(sqrt(3)/2) + sqrt(3)*pi/6 + 3/2

In [6]: simplify(_)
Out[6]: log(sqrt(3)/9) + sqrt(3)*pi/6 + 3/2

In [7]: _.n()
Out[7]: 0.758981249114944

In [8]: harmonic(2/S(3))
Out[8]: harmonic(2/3)

In [9]: _.rewrite(polygamma)
Out[9]: -3*log(3)/2 + sqrt(3)*pi/6 + 3/2

In [10]: _.n()
Out[10]: 0.758981249114944
Clean up harmonic number tests
Tests for expansion of harmonic numbers at rational arguments
Documentation for rational argument expansion