Add ability to supply raw query to execute()

This class can do a lot of the more common things but there are cases
where supplying a custom query to execute() is necessary. For example,
use of the 'And', 'Or' and 'Negate' provided by LQL is not really
possible.