Travis::CommitCommand: refactor rspec to be DRY

This patch does not affect implementation (class behavior).

It uses rspec shared examples so an author can easily
add new commit commands and reuse existing unit tests.
Travis::CommitCommand: refactor implementation to be DRY

Support all forward and backwards forms of command keywords
with a DRYer implementation.

Behavior change: After this commit, recognize the special
"colon" form both forwards and backwards.
IOW both [ci:keyword] and [keyword:ci].