DuettoBackend: Disable conversion from COMPLETE_OBJECT to COMPLETE_ARRAY

In preparation for "self" optimization
DuettoBackend: Compile regular pointers from downcasts
DuettoBackend: Add self member to complete objects
DuettoBackend: Use self pointer to convert COMPLETE_OBJECTs to REGULAR pointers
DuettoBackend: Add a method to get info about the bases of a class
DuettoBackend: Us edowncast array to convert COMPLETE_OBJECTs to REGULAR
DuettoBackend: Optimize dereferencing of GEPs
DuettoBackend: Unify pointer handling