Adds PingRequest, PingResponse, and Disconnect

- Changes MQTTMessage to get remaining length from fixed header
- Adds ability to decode data