WIP: generic number type2

work in progress, not ready for merging

continuing from here: https://github.com/ApproxFun/ApproxFun.jl/pull/71


I have made a mistake in writing `chebyshevtransform` in terms of fft and was hoping for help. As far as I can tell, the `fft_gen` and `ifft_gen` functions are working properly. I wrote `chebyshevtransform` to match https://github.com/chebfun/chebfun/blob/master/@chebtech2/vals2coeffs.m , but I didn't really understand what I was doing.

```julia
julia> n = 8; r = BigFloat[BigFloat(r) for r in rand(n,)];

julia> maximum( abs(chebyshevtransform(r) - chebyshevtransform(float64(r))) )
9.025352232940452587915806506104435996422000032418633430176793848182664747881608e-02 with 256 bits of precision
```
This line is supposed to be line 35 in vals2coeffs.m, but it should stop at `end-1`, no? Hard to trouble-shoot without being able to test it for myself, lol