mm_compile_rollback_on_error setting 

Add support for mm_compile_rollback_on_error setting to allow project compile to not roll back when errors occur if needed.
project configuration values

error handling for missing project configuration values.
Support preselecting unit test classes

Add support for pre-selection of unit test classes when the UI is
generated
default python for freeze_dev_osx.py

Update build script to use default python if it doesn't exist in
build_settings
Update to Compile Project Build

returns just the class compile erorrs.
plugin settings handling

Improved settings loading and parsing, add default return value
plugin settings handling

compile rollback on error params variable name  change.
index result wrapped in respons

wrap indexing result in success response
indexing fix

Skip when there is a missing key in the child data
settings enhancement

refactor code to create get_plugin_settings_path() function to return
only a path to the settings folder for further use.
get_plugin_client_settings() updated to use new function.
refresh and indexing bug fix

fix for refreshing from the sidebar - check that directories and files
contain elements before returning error about conflict.

error handling for missing metadata types, skip on index.
custom template support

add support for custom apex templates
metadata delete fix

fixed metadata delete to use full path to file and meta.xml fle, show
catche exceptions, report success message
json parsing fix for missing file

update parse_json_from_file to check for file existence, if it does not
it returns an empty dict
Webservice Apex Template

Add webservice apex template
move template_map to settings file

moving the apex template_map to the settings file so that it can be
accessed by the plugin for displaying and checking valid templates.
Stack Trace modal bug fix

* Fix for using modal().close() instead of modal('close')

* Added spacing.
apex test pass/fail info

Send information per test class about successes and failures.
UI updates

Re-arrange project javascript to make it more responsive, change header
logo to <span> instead of <a>, use trigger(), utf-8 encode file data,
fix dynatree layout
Don't always set runAllTests=True for production

the describe_result.testRequired only indicates that normal tests will
be run when deploying to production, if runAllTests=True is set managed
package tests will also be run and the deploy will fail if there are
errors.

update to make code honor UI settings for all org types, create user
setting mm_deploy_rollback_on_error to allow for no rollback on errors.