Bug fixes and functionality enhancements

**Bundles of fixes that includes updates to menus (Sidebar, Context, Main) for visibility and availability and introduction of new commands to extend Sublime Text functionality**

* Fix for menu item availability based on file extension, update ```util.get_file_extension()``` to use native methods.

* Hide or disable sidebar items when not an MM project or not a metadata file as appropriate.

* Update order of some menu items and add ellipsis to menu items that open a new window

* Update to "Open On Server" and "Open WSDL On Server" to separate functionality between active/selected menu commands, and fix for "Refresh Selected Files" to use the proper command. Rename command "Open X in Web Browser"

* Check ```is_mm_project()``` based on active folders and not project file in case project file is outside the workspace. 

* New user setting ```mm_compile_rollback_on_error``` to allow setting rollback on error for compile project to false - currently returns errors as JSON, update to parse coming soon.

* New commands to allow for the active or selected files to be preselected in the Apex Test UI. Only visible when in an MM project and active when an Apex class with "@isTest" and "testMethod" is in the selection.

* Remove dirs parameter from commands that don't use it.

* Update to util.submit_payload() to focus on parameter types instead of
operation to reduce duplication.

* Error checking that active file exists on filesystem.

* Add default command to open active file in browser
* Add Main > MavensMate > Debug > Generate Apex Class Docs menu item
* Fix GenerateApexClassDocsCommand command
* Import and update ExecuteDoxygen class and handle_doxygen_threads()
from legacy project
* Import bin/doxygen binary from legacy project