An attempt at support for per-project settings and syntaxes

This adds a new settings key "project_syntaxes", which is expected to be defined in a project's "settings" section within the sublime-project file. If the key is found, it will add its syntaxes to the beginning of the syntax list, thus taking precedence over "syntaxes" and "default_syntaxes". This is inline with sublime's policy of project settings overriding user settings.

It also gives precedence to the project's values for other keys such as "new_file_syntax" and "reraise_exceptions".