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.
Fixes #2676 : Convert Matrix to NumPy Array with NumPy dtype

Exposes dtype to the user. Default dtype is 'object'.
Rename d_type to dtype
Added tests for matrix2numpy
Add Python 3.4 to .travis.yml

I don't know if Travis actually supports it yet. I guess we'll find out.

For the slow tests, we only tested on the most recent version of Python 2 and
Python 3, so change them from 3.3 to 3.4.

This is a lot of Pythons now. We should probably think about dropping 3.2
support...
Makes IndexedBase consistent with Symbol wrt to latex printing
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.
Adds test extra test for latex of IndexedBase
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]