Initial implementation of truncated formal power series.

Power series are represented essentially as linked lists. This allows for pretty slick recursive definitions of the main operations.
Fix bug in subtracting power series.
Put a couple more definitions on one line.
Change the name of PowerSeriesType to Series.
Add support for division in power series.
Add support for log.
Variadic constructor for Series, and show function.
Better definition of division for power series.
Add promote_depth for promoting one series to at least the depth of another.

Need this for proper division if the numerator has more terms than the denominator. This is a bit of a fly in the ointment, since it means a/b will give a different answer than a*(1/b) if b has fewer terms than a. This would argue in favor of lazy infinite series (or in favor of not allowing a combination of series of different lenght at all).
restrict(promote_depth(a, b)) === promote_depth(a.ep, b) when a is a Series.
Generalize Series from reals to general number field.

This causes a couple of conflicts with Complex. Will have to figure out how to resolve those.
Add a diff method on functions that uses power series to differentiate functions.
Simpler definitions for * and /.
Stub out unit tests and a benchmark.

Currently paying like 10x overhead for working with 1st order Series. In an ideal world, would like to see this at 2x, since we're computing a sin and a cosine each time through the loop.
Benchmark against fixed size dual type.

The Series type is essentially a linked list. I wanted to check the performance of this implementation with the performance of using simple immutable pair type, so I added a stub type in Dual.jl. The Dual.jl type reaches the 2x overhead that I expected theoretically--it's beating the linked list type by a factor of about 10x.
Merge branch 'master' of github.com:jwmerrill/PowerSeries.jl