Solc command line arguments

Solc now accepts multiple command line arguments.

- Most of the options concern the output of solc.
- Output to both a file and the standard output is possible.
- Unknown arguments are ignored
- Illegal values to arguments produce a legible error explaining to the user what he did wrong.
OUTPUT_TYPE_STR for macros. Is it possible without a macro (I think we don't care about performance here)?
If not, can you declare the macro closer to its usage and undef it after that?