Using std::array instead of boost::array

They do the same thing, but the boost needs a library
Fixing initialisation order
Adding newline for clarity
Using helper function to simplify Simplifier::propagate()
OOps forgot to check for return value of helper function
Using helper functions in Simplifier::propagate()