Modified Elaborator and Fixed Driver Accordingly

Elaborator now houses a vector of Elaborations instead of just a
single elaboration. This way an Elaborator (which doubles as a
context) can keep track of all of it's associated elaborations
instead of the Rule Based System housing several Elaborators in a
vector.