Fix resampling to a higher sampling rate

Sounds weren't properly resampling to higher sampling rates.  There was a
missing while loop to allow for writing more values than there are in the
source buffer.
Allow resampling of a sound not from SD

Previously sounds could only be resampled as they were loaded in from the
SD card.  Now the function allows the sound to resample itself based on
the data currently in the sound buffer.
Add functions to set a songs pitch

These functions will adjust a sounds pitch by resampling the wave form.
This is a very basic form of pitch control, to be complimented by a phase
 vocoder implementation soon.
Add helper function to change playback speed

The current pitch control implementation is actually just adjusting the
playback speed.  It makes more sense to have a function for this so that
we could call it if we wanted to speed up or slow down a sound.