Implement boxed constant integers as literals (#12507)
This avoids creating a new int object every time
we evaluate an integer literal in a context that
requires a boxed value.
This speeds up this microbenchmark by about 60%:
```
def f() -> None:
for j in range(1000 * 1000):
a = []
for i in range(10):
a.append(10)
```
In more realistic workloads the impact is hard to
measure and is likely below the noise floor.