Initial setup and implementation of Spark specific preferences class.

I wanted to create a Spark-specific, central preferences class, `SparkPreferences`.  Open to ideas on how/where to organize it.  The main reason is so that we have a centralized model for handling all preferences which get used in different components (ie. the preference pane vs. the affected component)

The current `preferences.dart` contains pretty general handling of `PreferenceStore`.  Maybe they should all stay in the same file.  Maybe we could move that into a `preference_store.dart` and leave the Spark specific stuff in `preferences.dart`.