Fix insert queries failing with expression objects.

Insert queries should support expression objects as values. This allows geo features from MySQL to be used, and enables other platform specific SQL functions.

Refs #4671
The traverse() method in this expression nees to change as well