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