fix and optimize toVarint

- need unsigned value for right shift

- src > 0x7F is faster than src & ~0x7FUL because the
  instruction can be encoded with fewer bytes (small constant)
Merge pull request #34 from MartinNowak/fixVarint

fix and optimize toVarint