Support ORDER BY/LIMIT/OFFSET in DELETE statements

This seems like a lot of changes to review.  Most of these changes involved moving code that previously applied only to SELECT into places where it could be used also for DELETE.  I tried to commit frequently and rebase on master often, so it _might_ be helpful to review each commit relative to its predecessor.  

These changes can be summarized at a high level:
- Make HSQL parser accept ORDER BY/LIMIT/OFFSET on DELETE statements; add ability to serialize resulting SortAndSlice object to XML
- Add relevant info to ParsedDeleteStmt
- Build plan containing ORDER BY and LIMIT in `PlanAssembler`'s method `getNextDeletePlan`
- Lots of tests, both positive and negative, characterizing new behavior
- Happily, no changes to the EE were required