Fix BitReader.sget2() in the multi word cases.

The final byte determines if the result is positive or negative and the number of
special words beforehand make that result bigger.

This only affects reading non-mkgmap files.

Added a couple of tests for them.

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/trunk@2976 25d90789-57f7-4ee0-8453-03a3dfeeeb22