Define gem

I was working on my book this morning and wanted to link to a decent definition of a gem.

So I wrote one, and some of the supporting definitions (library, framework,interface).

/cc @openspectrum @jfarmer thoughts?