Setup skeleton of the Shape Analysis dataflow solver

Doesn't work yet but I think this is the skeleton that we want.
Committing so that I can retrace my steps if something goes wrong.

See #2.
Add initial values to the dataflow graph

Mimic the setup of Fig. 5 in "Solving Shape-Analysis Problems in
Languages with Destructive Updating". Also added new convenience
functions to allow the setup to proceed.

See #2.
Add identity function for Static Shape Graph (SSG)

See #2.