Clean up Client program - separate out argument processing and add usage docs