Merge pull request #58 from Tadimsky/networking-refactoring

Networking refactoring - getting classes in a workable state
Implemented strategy instantiation in factory. Refactored strategies.

Refactored AttackStrategy as best I could but still ugly.
Emergency push to fix master because of case problems with naming packages
merged with master
Merge pull request #59 from Tadimsky/refactoring

Refactored strategies
Fixed error merge conflict - fixing master