Only use fields in PyTypeObject when defining types

Allocate and use separate structures for as_* fields in the PyTypeObject
rather than using fields in the PyHeapTypeObject.  This is a step
away from using the PyHeapTypeObject, which is unnecessary and will
make supporting stackless python easier.

Change-Id: I6e5c514ab6db5b8bee9bee3107b97d6fbd582641
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: John Cummings <jcummings2@users.sf.net>