Add TableCursor.
Add Expression and ExpressionBuilder.
Modify Cursor to have const Table * instead of Table *.
Remove Table::create_expression_builder().

This is because ExpressionBuilder::create() is available.
Make Cursor's constructor protected.