Changed the exceptions being thrown to be more appropriate to the abstraction, r.  Removed runtime exceptions from method signatures for consistency.
Changed IndexOutOfBoundsExceptions to NoSuchElementExceptions
added type argument as to not extend a raw type
Merge pull request #1 from zack-johnson/master

IndexOutOfBounds Exceptions and Type Arguments