Issue #9. Allow nested preconditions.

Precondition executor is now more thoroughly tested, especially
with corner cases (invalid syntax, no column 'result').

Finally, a slight change on transaction management has been done:
there is no global transaction anymore, but one per changeset, as
it was initially intended.