Merge pull request #2 from timmolter/develop

Merge changes from main repo
Multi-thread synchronization, fixed jUnit tests, reformatted code
Changed tagging logic
Corrected null statement
Changed from multiplication and division to bitshift
Merge pull request #353 from ObsessiveOrange/develop

Multi-thread synchronization, fixed jUnit tests, reformatted code
Merge remote-tracking branch 'upstream/develop' into develop
rename proxy to avoid confusion.