Fix value mapping and layout in the presence of incomplete types (closes #40).

Fix several places in MappedValue.cpp that would not correctly handle incomplete
types.

Update LEAStandard to insert an empty cell (and row) if the pointer used to
layout an area has no dereferences.

Update the pointer selection algorithm to discard pointers to incomplete types,
unless there are no other pointers, in which case it simply picks one of the
pointers and performs layout (similarly to the void pointer case).

Update pointer layout to render pointers that have no dereference, if they still
point to a valid memory region. For now the pointer is shown exactly as a type-punned
pointer would be. Also make these pointers, and type-punned pointers, use the
":nw" port if their referenced address is equal to the start of the area that
contains the address.

This is patch handles the issues described in #40, but we could make this nicer
in the future. For one thing, it should be easier for clients to query the
exact reason why a pointer has no dereference (is the memory unknown, is it too
small, or is the pointee type incomplete).