Fix server deadlock issue.

Fixes #36 by moving the synchronization from then entire receive method to just around the critical section (when the peer is saved to the list). The means that the Listener thread will never require the Server lock when it already has the NetworkController lock.

@DPenner Think this make sense to solve the issue?