Complete refactoring flx.

Flx now lives entirely in the library,
except for a stub "runflx" which accepts
a list of strings. This means that you can call
"flx" under program control similarly to calling
it from a shell.

The subroutine version does not support I/O redirection
or environment setting.