Use backend interface for interface method tables
Addressed 7 comments from codereview. ::do_types might be wrong.
Addressed comments on get_tree for method tables.

* Removed constructor_expression from this change.
Use backend interface for interface values.

* Add constructor_expression to backend
* Add Interface_value to Expression
* Add INTERFACE_INFO_TYPE_DESCRIPTOR to Interface_info

* Currently broken w/in Interface_value::do_get_tree.
compiler: Use backend interface for slice values.

* Add Slice_value_expression.
* Refactor slice value construction in convert_for_assignment,
https://codereview.appspot.com/64830043/#msg5/
https://codereview.appspot.com/64830043/#msg7
runtime: Use a better heap location on arm64 systems.
Attempts to make convert_for_assignment return an expression. Seeing large memory usage when using make_cast for structs and arrays. Currently a mess, investigating.
https://codereview.appspot.com/66820043/#msg3
https://codereview.appspot.com/66820043/#msg4
compiler: Change Heap_composite_expression to Heap_expression.
https://codereview.appspot.com/66820043/#msg6
https://codereview.appspot.com/66820043/#msg8
Fixed errchk failures in constructor_expression.
Fix branch.
Really fix constructor expression errors.
Minor fixups.
Clarifying documentation of slice_value_expression.
compiler: Use backend interface for slice values.
compiler: Use backend interface for map index expressions.