Stylistic changes and added missing symboltable.h from the CMake file.

- All source files now use 4-space indenting. No tabs, no 2-spaces. Adjust
editors appropriately.

- Apparently C++11 lets us initialize member variables like Java. Now we
  do.

- Re-arranged the files in the 'add_executable(frontend ...' to make it
  more clear what's what. Always, always add the header and source!

- Heavily commented and adjusted existing comments in datablock.cpp.

- Replaced usage of NULL with nullptr in symboltable.cpp

- Miscellaneous stylistic changes. Functionality has not changed, but
  readability has improved.