router_readconfig: fix parsing of proto when directly followed by ;
dispatch_connection: reorder logic to fix value tampering

This is an alternative to the solution presented by cekstam in pull
request #18.

After we've seen the first space, we no longer need to replace "weird"
chars, as only values follow.  As correctly pointed out, float
representations might even have "weird" chars, such as the '+'.

With this commit, we allow any char after the first space, but still
reduce whitespace into a single space.