Added support for arbitrary condition expressions.

For examples of usage, see the updated README and also
the unit tests.