Use specific ordering.

Fixes failures in Postgres.
Make startQuote/endQuote protected.

These properties are unlikely to change and have no need to be public.
Update tests that were causing failures in MySQL to use mocks/generated
objects instead. This tests the actual functionality in isolation
better.