modify the way cells are created in the main view to be indexPath-aware

- any time you had selected so many spots that your list exceeded the height of your display, scrolling up to look at a the first cell you'd see that the background color only filled some of the cell. This is because we were returning cells without passing indexPath to the dequeueReusableCell. Passing indexPath makes sure that if the cell happens to be cell all the way up at the top, it gets the proper background fill even though it's taller than all the other cells to slip under the status bar with its background color