Added support for g and G format in string.format()
Fixed wrong behavior of o, x and X formats with negatives values in string.format()