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.
Merge pull request #13 from fbiville/issue_9

Issue #9. Allow nested preconditions.