Rework to incorporate cl-rainbow's code and ideas.

** This work significantly cleans up the code, allowing it to extend
further than initially. Parts of this design stem from cl-rainbow.

- The RGB code is currently unclean. Everything else, by and large,
iss 'code complete' and ready for test.

- *enabled* is currently not tied to anything.

** A few design notes.

- The ~/.../ functions were removed. Unless they are really awesome, who
cares? They seemed cumbersome and sketchy to use.

- For some reason, foreground and background settings are not
colors. This has percolated through the API and there's kludge laying
about. Foreground and background are designated as 'styles'.

- +term-colors+ and +cl-colors+ are order-dependant. In particular, they
must follow the order of their codes.

- rgb codes will follow a different code path but will wind up using
the same interface at the top level, as they will use a 3-element list
and an integer to select, and 32-color codes use a CL-COLOR and a
symbol to select.

- with-color and make-color-string will enabled-disable based on
  *enable*, as they are the top-level interface systems.
Initial (untested) hack for RGB work.

This is really hacky work, just lines out the logic path.
Add tests to the system.
Unit tested version of cl-ansi-text.

Benedictions upon people who use this.
Set up *enabled* as a dynamic variable to control output.
fix effect option for rgb-color-code
Merge pull request #1 from taksatou/rainbow-ports

fix effect option for rgb-color-code