fix py2.6 compatibility issues in sieve test

- gzip.open() does not provide a contextmanager in py2.6, so
  now wrap with contextlib.closing()
update various badge urls to reference develop branch directly
cleanup how float/double values are formatted

- previously used decimal which provided expected results, but
  broke on python2.6, since Decimal() only accepts strings
  not floats.  This implementation removes the use of decimal
  entirely and does messy formatting based on the provided
  precision, scale inputs.