Merge pull request #5 from jonas054/more_rules

More rules
Introduced classes Token and Position so values can be retrieved by
attribute reader methods rather than array indexing.
Using naming from Ripper documentation (mostly), so a token is now
pos+type+text and a position is lineno+column.
Added token_indexes hash in order to avoid slow linear searches.
Added elements to array only if they're not already in there instead of calling uniq afterwards.
Calling Ripper methods once per file instead of once per cop, and went back to original design of an inspect method in each cop taking 4 arguments.
Correction in Grammar#find: bailing out if the right token can't be found.
Merge pull request #6 from jonas054/optimization

Optimization
Merge branch 'master' into classes

Conflicts:
	lib/rubocop/cop/align_parameters.rb
	lib/rubocop/cop/cop.rb
Small refactoring in align_parameters.rb.
Added UnnecessaryThen cop.
Made array access in Position objects impossible.
Merge pull request #7 from jonas054/classes

Classes
Merge branch 'master' into more_rules
Necessary updates after rebase from master.