Added support to load prev/next phones, variable number of target samples

This pull request adds support to having an arbitrary number of previous/next phones as a source. Instead of having one phone per frame (which is overkill), I changed it back to the mode of the phone code inside each frame. Additionally, now an arbitrary number of samples can be defined for the target. The way it was implemented before, the target was always exactly as the input (same number of samples) but this makes predicting a single "future" sample from previous frames harder.

Let me know if you need any clarifications about parts of the code!