Issue #32: Updated "next variation" algorithm to properly select next index

Updated "next variation" algorithm to properly select next index instead of relying on incrementing metadata value.

The commit didn't diff correctly, but lines 76-81 were removed from the old file and replaced with lines 76-97 in the new file. The modified algorithm has been tested in the test world and works properly for all tested blocks. This also fixes an unreported bug that causes left-clicking on stairs to not cycle properly due to the strange way that block IDs and metadata values are currently assigned to them.

The only block that I found that the new algorithm did not work correctly for was ice stairs, as it would not cycle back to the original stairs. However, this problem was already existing. (I'll look into it later if I have time.)