Style improvements and succinctness in solc main.cpp
Moving most of the solc functionality to own class and splitting implementation in modular functions