The previous behavior for main took an arbitrary dictionary and looked
for keys within it. To decouple the main function from the args
function, this change instead formalizes the names for the arguments
to main, allowing for documentation of the expectations.
Since Ansible's default expected argument is `--list` and that would
collide with the Python `list` builtin function, the `kwargs` argument
is added to act as a catch-all. In practice, while Ansible passes the
list argument in, it does not change the script's behavior.
Change-Id: I8a4c677b44b7c0fc6d95c0a5213306165b79971d