fix differentiation (#10)

use an external implementation, plus a fix for the case N=2
move out some polyfit tools to allow for better testing
fix differentiator for constants and linear functions
refactoring to allow vector components

this refactoring is (unfortunately) split in two parts
1) the __init__ method is now much shorter and calls the relevant functions
2) the coefficients are now assumed to be matrices in all circumstances
check that chebpolyfit works for vector data
implementation of vector valued chebfun

includes extraction of interpolating function (to allow separate tests)
more refactoring in init_from_function

the init_from_function method now uses the dichotomy method which can be tested separately
PyLint fixes
use skipTest instead of expectedFailure in tests
quick modifications for 2D plotting
allow empty initialisation Chebfun()

useful for test, when initialising the Chebfun object manually
more sensible parameter names in init functions

use "data" and "chebcoeff" instead of "f"
refactoring of chebpolyfit

chebpolyfit does not take care of the sampling any longer
cosmit
move functional tests in separate class
move functional tests in separate file
move plot test in separate class
move plot tests in functional test file
documentation for tests in Test_Chebfun
remove unused initialised attribute