CLI support in Signo

Signo now supports persistence of data. It adds support for CLI
authentication using OAuth as a authentication delegation to other
systems. Signo creates so called tokens with limited expiration time
which they use for signing the requests passed to other systems such as
Katello or Foreman. Also improved test coverage.