Implement type specialized instance variables

What does this mean `@a = <some int or float>` doesn't allocate anymore. Todo list:

- [x] bring back pre-sizing of the data array (and tests for it)
- [x] make `pos()` not be `O(n)` in the number of instance vars.
- [x] merge `precise-instantiate` branch of PyPy.
- [x] investigate how much of a pain merging the `coerce_bytes` resops into the `getarrayitem_gc` would be (https://bitbucket.org/pypy/extradoc/commits/6afbc6bbdc37a38f90b9ddea1ee8681483b36f19).