Refactor the way in which proposals are handled

Each proposal used to have its own variable name in the model classes.
Now, proposals are added to a vector of proposals (in Model), which
simplifies the way proposals are chosen and applied.

Also, CMakeLists.txt was updated to use C++11 as the language.