New grid Geometry Manager

The grid geometry manager was overhauled to improve its layout algorithm, and there were several user-visible changes. The weights on rows and columns that affect resize behavior were changed from floating point values to integers. A -pad row and column attribute was added to provide padding for a whole row or column. The columnconfigure and rowconfigure operations now return the current settings if given no arguments. There are two new grid operations. The update operation forces an update of the grid layout. The remove operation removes a widget from the grid but remembers all its grid settings so it is easy to put it back into the grid later.