Fixed observers not cleaning up properly

Observable object and collection did not make the most efficient use of
memory.  Fixed so that the delegate lists are deleted when they are
empty.
Fixed formatting

Replaced tabs with spaces
Tokeniser cleanup

Refactored Symbol class to Token.  Removed unused operators
Fix windows build

Added tabs and tests projects to Windows build