Refactor obfs4proxy (and the support protocol code)
While the current code works, it is very "A C programmer is writing Go". This mostly applies to the support protocol code, and refactoring it to make more use of channels/goroutines would simplify the code.
This ticket also encompases "general cleanup" to the code as I am not quite happy with some parts of the code.