Move test for "-a" argument into describe block

As a preparation for more tests for "-a".
Add checking for empty algorithm argument
Merge branch 'dont_allow_empty_algorithm_argument'
Move test for "-l" argument into describe block

As a preparation for more tests for "-l".
Raise error on bad minimum password length
Merge branch 'dont_allow_zero_length_passwords'
Split feature spec into two
Add acceptance test for length argument