Drag and drop Support

Added Drag and drop support to move F# project items within the same project. Dragging non project items and dragging out of project results in default base behaviour.

This should address #135 for the most part. I don't know whether adding an Up/Down entry to the context menu would help make this more visible. Im sure somebody could add this at a later date, dragging entry's seems a lot more intuitive.

The method of moving the project files uses Linq2Xml to find and move nodes around in the project file. Ideally we should be using IdeApp.ProjectOperations and remove a project file, and then insert it as a certain point, but the current implementation of the MSBuild handler is not position aware and simply updates the moved item in its original location. In addition, Inserting a project item at a certain index simply adds it to the end of the items list. This solution allows us to avoid the complexity and numerous edge cases that I found while investigating this.

Added more Linq2Xml helpers to TooltipHelpers to facilitate drag and drop, also refactored so they are in their own module.