YARD Documentation

This commit introduces YARD for generating documentation.

One thing I noticed is that "github-markup" is added as a development dependency but isn't actually used anywhere from what I can see. Any reason to keep it in?