[build] Allow installing on top of an existing install.

Fixes issue #753.
Merge pull request #786 from waywardmonkeys/allow-install-on-top

[build] Allow installing on top of an existing install.
[c-back-end,c-linker] Use $dylan-type-string instead of "D".

This is in preparation for renaming types within the C run-time.
[c-run-time] Rename many struct types to have dylan_* names.

This will improve our debugging support and make many things
more approachable to users who aren't experts in the internals
of the C run-time.

More changes are coming in subsequent commits.
[c-back-end] Capitalize $dylan-type-string in certain function names.

We want the $dylan-type-string to be capitalized when used in
generated function names like MAKE_D_CELL and so on.
[crt,c-back-end] Switch to using "dylan_value" instead of "D" for Dylan values.

A Dylan value is a tagged value and may be an integer, byte character,
unicode character or a dylan_object.

This change is useful for working with lldb as the currently shipping
version of lldb crashes when adding a summary function for 'D'.

The type "D" is maintained for 2 reasons: just in case, for backwards
compatibility and in some situations it is used as the type for a
raw pointer. We will shift that over to "void *" in subsequent
commits.
[crt] D -> dylan_value.