Change how indexes are handled

This change removes any dependency on IndexedRecord, and moves all index parsing/checking to ScalaClass. You should also review IndexParser, which was added in a commit not included in this pull request and released as part of Rogue 1.6.0 (so it could be accessed from bootstrapped templates that I later realized didn't need it; doh).