Added option for low-rank representation of waveforms

Updated estimateWaveforms(), residuals(); estimateSpikes() needs to be
done
Updated estimateSpikes() to low-rank representation of waveforms