Added identify feature, updated argument parsing, minor tweaks

- Added the ability to identify a bulb or a room by name or ID. 
- Added support for gateway discovery / validation (e.g. could be "lighting" or "lighting.local")
- Added support for custom gateway name
- Updated the command line parser to argparse (instead of optparse) for simplicity in maintenance.
- Changed tabs to spaces (sorry :smile:)
- Re-factored / cleaned up here and there