Implemented a hash on BlitzGateway objects

Added a __key method to BlitzGateway objects
Used the __key method to implement __hash__ method
Refactored __eq__ to use __key