Changed handling of number of rows and columns to be more efficient

The numberOfRowsInTable should only be retrieved when the reloadData is called.  Also,  I replaced the numberOfRows and numberOfColumns methods with properties, since there is no need to check the datasource every time those methods were called, which was quite frequent.