Bugfix: Safer local data allocation / management

Previously, the underlying local data array was allocated on the heap
via "new" w/o ensuring it was within the GASNet remotely addressable
segment.

Before introducing ConvergentMatrix::operator(), this was alright,
because explicit casts to global_ptr objects were only performed in
cased where access was local (e.g. direct copy into or out of the
array). However, when the former was added, the addressability
requirement becomes strictly necessary.

Since the local data array is now managed via allocate / deallocate, the
latter must be performed in the ConvergentMatrix destructor, meaning
that a ConvergentMatrix instance must be kept alive for the life of the
abstraction (i.e. once freeze is called and a raw pointer is returned).

Also in this commit:
- Further cleanup in ConvergentMatrix::operator(), though requiring a
  hack that will soon be mooted by updates to upcxx.
Bugfix: Bad predicate in get_local_data() assert
Removed outdated examples
Renamed "freeze" to "commit"

Sounds a bit nicer, per Kathy Yelick's suggestion. Also minor changes to
private variable names under the TEST_CONSISTENCY case.