Update 55: Debugging

assignment made into a global variable, which means the searchplan and
label matching functions take one less parameter, and the address of
assignment no longer has to be passed around. This makes the code
nicer, albeit a little harder to read, and removes strange memory leaks
caused by addAssignment.

I also added a function to support the freeing of GLists generated
by concatExpToList.

Bug fixes:
- removeAssignment did not free the removed assignment pointers
  to heap.
- verifyAtomVariable no longer makes copies of host_atom to pass