Replaced all references to 'Broker' with 'Server', to match the 3.1.1 specification terminology
Changed attr_reader to attr_accessor to improve documentation
(the setter methods are overridden anyway)
Refactored the way packet defaults are set
Re-factored the fixed header parsing code into a generic array of bits to match the 3.1.1 spec
Fix to set flags attribute before other attributes that depend on it