WIP: API and type hierarchy

API suggestion for high level functions:
For `DiscreteWavelet` boundary treatment is controlled by type parameter `T<:WaveletBoundary`. For `cwtft` boundaries are naturally periodic and for `cwt` boundaries are specified explicitly as an input.

```julia
# for DWT (discrete wavelet transform)
dwt(::AbstractVector, ::DiscreteWavelet)
idwt(::AbstractVector, ::DiscreteWavelet)

# for SWT (stationary wavelet transform)
swt(::AbstractVector, ::DiscreteWavelet)
iswt(::AbstractVector, ::DiscreteWavelet)

# for WPT (wavelet packet transform)
wpt(::AbstractVector, ::DiscreteWavelet)
iwpt(::AbstractVector, ::DiscreteWavelet)

# for CWT (continuous wavelet transform)
cwt(::AbstractVector, ::ContinuousWavelet)
icwt(::AbstractVector, ::ContinuousWavelet)

# for CWTFT (continuous wavelet transform via FFT)
cwtft(::AbstractVector, ::ContinuousWavelet)
icwtft(::AbstractVector, ::ContinuousWavelet)
```

The wavelet type structure under `abstract WaveletType`. Strikethrough types are not included in the package (yet).

* `abstract FilterWavelet`
  * `OrthoFilter` 
  * ~~BiOrthoFilter~~
* `abstract LSWavelet`
  * `GLS`
* `abstract ContinuousWavelet`
  * ~~abstract MotherWavelet~~ (maybe?)
* `typealias DiscreteWavelet Union(FilterWavelet, LSWavelet)`

The type parameter (e.g. `OrthoFilter{T<:WaveletBoundary}`) determines the treatment of boundary extensions. `PerBoundary` is default.

The wavelet types are created either directly (`OrthoFilter{T<:WaveletBoundary}(name::String)`) or using the wavelet contructors. 

```julia
wavelet(name::String; transform::String="filter", boundary::String="per")
waveletfilter(name::String; boundary::String="per")
waveletls(name::String; boundary::String="per")
#waveletcontinuous(name::String; boundary::String="per")
```

Both can also accept input of type `(class::String, n::Union(Integer,String))`.

I believe this is a quite intuitive and simple API which is consistent for all transforms. Having boundary types as a parameter is also in the style of julia and can potentially simplify some of the code. Suggestions 
and criticism welcome.