Finished writing the HavePiece case in peer.decodeMessage()
Added logging for each type of message that's received from a peer
Fixed bugs in HaveMessage case in peer.decodeMessage()
Added numPieces as an argument in PeerManager as it's needed when creating Peer objects