Merge branch 'upgrade-to-xcode-4.5' into feature-view-board-positions
refactoring: rename "move list view" to "board position list view"
add conceptual docs to BoardPositionListController (will drive upcoming implementation)
move board position classes to new subfolder
refactoring: BoardPositionView and BoardPositionViewMetrics from BoardPositionListController
specially markup board position view if it represents the current board position
board position view displays special content for board position 0
add tap gesture recognizing to ItemScrollView
tapping board position actually displays that position on the board
properly update board position list view after changes to board position

change details
- Extend ItemScrollView to provide controllers with more fine-grained control over
  what should be updated (up until now only reloadData was supported)
- BoardPositionListController now makes use of the new ItemScrollView
  capabilities
- Generalize concept of "long-running actions" (the concept already used by
  PlayView to implement delayed updates). The new notifications are now used by
  BoardPositionListController to update only once after a LoadGameCommand
  has finished (instead of once per move that is replayed by LoadGameCommand).
implement updateNumberOfItems() in ItemScrollView
ItemScrollView now supports disabling of tap gesture recognition
disable selection of board positions in board position list view if appropriate
no unnecessary change of "computer is thinking" state

it is not necessary to change the "computer is thinking" state in
GoGame if the computer plays a move and then immediately
goes on playing (e.g. in a computer vs. computer game); the state
change just causes unnecessary GUI updates (although the
updates occur too fast for UIKit to actually render them)
DiscardAndPlayCommand no longer synchronizes GTP engine unnecessarily
toolbar/statusline controllers now delay updates during long-running actions

On the simulator, some glitches in toolbar button visibility could be observed
(e.g. back button sometimes was not visible after the app launch was complete).
With this change the glitches are gone. Due to the delayed updates mechanism,
the final update now occurs in the main thread context. It is therefore reasonable
to assume that the root cause was that there were many updates happening in
a secondary thread's context during LoadGameCommand.
synchronize GTP engine whenever board position changes

Refactor synchronization code out of DiscardAndPlayCommand into
its own command subclass. When scoring mode is activated, Fuego is
instructed to find an initial set of dead stones. It can do this only if its
state is synchronized with the current board position. GTP engine
synchronization must therefore happen immediately whenever the
board position changes.
restore board position last viewed on application launch
pause computer vs. computer game after loading it from .sgf