Implement basic data structure for shape analysis

These data structures will be use to implement the static shape graph
following the algorithm in the paper "Solving Shape-Analysis Problems in
Languages with Destructive Updating" with some customization for WALA.

See #1.