tests: adds test machine list

tests: adds tests for machine_list
tests: adds tests for customer_list
tests: adds functions to make test idempotents

adds delete_all_machines
adds delete_all_customers
tests: changes session_timeout to support longer running tests
client: adds support for group_id optional argument
tests: adds test for user_setup

case covered: no user exists, and setup is expired
user: Reads session_timeout and setup_timeout from config file