use env program to invoke bash in shebang

Move -v argument to set command in script to avoid incorrect
shebang tokenization.
make sure command var is signed int

If the compiler decides to use unsigned int we can not check for
negative error values.
NO_CMD to empty bits, LIST_CMD first to have bit field set
make sure state_arg is int and LED_* enum starts at zero
add support for substring command matches

Command and led command arguments now allow substrings of arguments to
match. They are also checked for ambiguous matches.
change err message to present tense