Launcher tap-hold to edit

Pull request for launcher edit feature.

This feature request is *incomplete*, but I thought a pull request will help aid comments on features and a place to track changes.

One of the main differences over Three20's launcher is the NILauncherView is agnostic to the data items, therefore the view can no longer be responsible for (for example) delete/close buttons on launch items. 

Maintaining the datasource concept we need to implement the drag and drop reordering. 

Note to self: look at UITableView's Managing the Reordering of Rows: http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/TableView_iPhone/ManageReorderRow/ManageReorderRow.html#