Fix the MAC address resolver

List the allowed characters and remove anything else
Abstract the broadcasting of UDP messages
Add support for manually adding lamps by IP address
Improve the UI
Introduce a new exception
Add unit test for mac extraction
Add support for resetting the lamp list