Rewrite Rakefile

Add .yardopts file task for keeping it up to date with new documentation files.
Convert grammar generation task into a file task to make more efficient.
Reorganize file by category.