Factored out the assembling from dasm.cpp to a separate class.
Added very basic version of the symbol table.

At the moment it is simply a std::map.
Added a method for printing the symbol table to the assembler.

Labels are now registered in the symbol table and the .equ directive
works.
Now keeps track of the location counter in the assembler.

Reading an instruction incremnets the location counter by 4-bytes.
Simiarily seeing a .word directive incremnets it by 4-bytes and a .space
directive increases it by the given size.

Finding a label now adds the entry into the symbol table along with the
current location.

Additionally added inital attempt at handling the .start directive.
Moved error function to Assembler class and now includes the filename.