F/multi port

I did a small refactor in the packetLoop method, to be able to listen to several ports on the same device. The idea was to move the 'accept' part into a separate method, so one could call it with a different port, if the packet is not for the original one. You can find an example in the commit message.

While it's definitely not suited for high traffic loads, I'm using it without troubles for more than a week now.

In the previous commit (b72da21) I did a quick & dirty fix to make it compile with gcc-avr 4.7.x. This is just pushing the trouble away, since the prog_char is deprecated now, and I just turned on the compatibility mode.

Please review my changes, and I'd be happy if you find it good enough to be merged into mainline.