Commit Window: refactor

We set the disclosure button action to `toggleTableView:` to show/hide the tableView. It will be easier to do animation in this method instead of the setter for the `showsTableView` property (via bindings), since we may not want to always animate the table when we set the `showsTableView` property (e.g., when first showing the commit window).

Also simplified the auto layout constraints.
Commit Window: Animate the show/hide of the table view

When showing/hiding the tableView, we now ensure the OakTextView size remains the same (by expanding/shrinking the window instead).

Also, we limit the height of the table view to the number of rows (the height is still capped at 10 rows, though).
Disable "showTableView" button if table is empty

The button is essentially a noop in this case since we now limit the height to the number of rows in the table view.