Destructruing Assign + Bug Fix + Some Comments

I added destructing binding, i.e. the ability to bind individual pieces of a grid to their own names. (I also included an example showcasing this ability). In the process I fixed a crashing bug when reading from non-existent variables, some warnings, added some comments, and made sure it was compliant with clang++ (while not breaking g++).

I plan on adding more features to the program system over time as I continue to use it, hence why I made a lot of changes on the side that weren’t directly destructing bind.