Declare block literal classes
Move block-related stuff into new files
Add license headers to the block source files
Add append() overload to linked_list

This commit adds an append() overload that takes T as an argument and
constructs a new node containing the passed value.
Initial block literals implementation

Compiles, runtime not yet tested.
Correct bug in linked_list's append()

If the other linked list had only one element, append would return null.
Fix block_statement's eval()
Missing methods for expr, symbol_table, block_arg
Implement missing operator= in object

This commit adds the operator= to the object class and defines its
constructor in terms of it. This little mistake cost me more hair than
the ususal. No wonder Bjarne Stroustrup is bald.
Implement block object