Fixes option parsing in legacy commands

Global options must be at the start of the arguments before the command
but we simply prepended the command to the start of the args.

This actually does a first pass at parsing out the options and injects
the command between the globals and the remaining args.
Try avoid some wasted lookups during requires
Use require_relative for command loading
Autoload HighLine to avoid it's large performance penalty

Filed a bug with highline here https://github.com/JEG2/highline/issues/91