Added persistent level unlocks.

Replaced the LevelSelectionViewController's storyboard buttons with programmatic buttons, which get enabled or disabled based on an NSUserDefault integer representing the highest level unlocked. Updated the LevelViewController to update this integer when a level is completed.
Right now we can only unlock levels linearly - it isn't possible to say unlock 2 levels as a result of completing a level, or to complete level 3 and unlock level 5 but not level 4. I think that this is acceptable behavior, but it's something to keep in mind as a constraint on any narrative/overarching order of the game.