Fix cli with no argument handling

Seems the cli.tools 0.2.2 library decided to change its API and is now
not returning nil valued entries when there is no default. This has played
havoc with our required-args detection, meaning that when you attempt to
call a command without any arguments you get a nasty exception.

This patch fixes this, and adds acceptance tests to ensure we don't regress.

Signed-off-by: Ken Barber <ken@bob.sh>
Merge pull request #751 from kbarber/maint/master/1.5.x/cli-with-no-args-broken

Fix cli with no argument handling
Disclose the protocol for import/export CLI help

We didn't explicitly say HTTP only, and it confused Chris Spence so much that
we feared for our lives.

Signed-off-by: Ken Barber <ken@bob.sh>
Merge pull request #754 from kbarber/maint/1.5.x/disclose-port-protocol

Disclose the protocol for import/export CLI help
Merge branch '1.5.x'

* 1.5.x:
  Disclose the protocol for import/export CLI help
  Fix cli with no argument handling