Implemented TFTP block number rollover

* According to RFC 1350, block number is an unsigned short, not a
signed one (fixed that)

* According to RFC 2347/2348 block number can be rolled over after
it becomes (> 2^16-1) and can be 0, which makes file transfers unlimited
rather than without rollover when file size is limited to
(2^16-1*block_size)
Merge branch 'master' of github.com:favoretti/pybootd