Fixes entire codebase to use string references instead of copies
where applicable. Coming from a Go background, this just never
seemed necessary to me.
Implements command line parser. More preparations for assembler.
Simplifies command line parser API.
No more faffing about with templates and type casts and what not,
trying to get to typed flag values.
Fixes command line parser to accept Flag pointers.
Implements parsing of numeric command line flags: Int, Uint and Float.
Implement correct error handling in command line parser.
Adds code comments.