it is easier in java to not use inner classes

difficult to access from outside the outer class (Configuration)
abstracted normal messages
made handshake message its own independent class
created a class that builds choke messages
created a class that creates normal messages