Throw error on trailing self-sync runs.

I am only going to support .nib images which end in data runs.  Ending
in a self-sync run could cause data overwrite and I will only be
providing it with .nib images that have the self-sync padding at the
beginning of a track.
Cleanup variables in sample.

Reuse the addresses that I freed up when I removed the global
parameter block.
Update sample

Move data runs so that they are top aligned in a page.  This makes the
future write to disk path easier since it will just need to increment
an index register and check for overflow to 0.  Having the runs in
memory so that they don't cross page boundaries also keeps the timing
consistent.