Add SourceInfo to Command objects

Previously, I added SourceInfo to the Line objects so that I could
report the file name and line number to the user when processing lines
to generate commands (during the first pass).
By adding SourceInfo to the Command objects, I can have error reporting
with file name and line number when generating the actual machine code
(on the second pass) as well.
Update to-do list