Refactored periodogram/spectrogram

- Create a Frequencies type that doesn't need to allocate
- Make arraysplit an AbstractVector, allow simultaneous windowing and
  padding for FFT
- Periodograms and Spectrograms return objects
- Remove all unnecessary allocations
- Use FFTW plan interface as appropriate
Tests and fixes

Tests heavily borrowed from the work of @gummif
More tests for padded periodogram
Use same defaults for welch_pgram as for spectrogram
Run all tests for spectrogram as well
Rename periodogram.jl -> periodograms.jl in accordance with module
Move fftfreq/rfftfreq to utils, add tests
Rename m -> noverlap, add error for nfft < n
Move nextfastfft to Util, periodogram functions accept window as Vector
Add documentation for changes in this PR
Merge pull request #42 from JuliaDSP/sjk/refactor_periodogram

Refactored periodogram/spectrogram