Add gls core functionality

Based heavily on thinkerbot/prototype@66caf64.  Modified to generate
descriptions in help (gls-list) via an ENV variable instead of the first line
of -h, and simplified in general.  As an example the concept of plugins implied
by PROTOTYPE_PATH has been removed in favor of simply using PATH and whatever
package manager the user prefers.