use an options hash for register_agent
log register errors
support assigning tags while registering