Fixes bug with SC.Locale where different subclasses shared the strings object which meant that the last call to SC.stringsFor() would overwrite all previous localizations.

- Includes unit test showing the bug.
Updates CHANGELOG.md.
Updates SC.SelectView's default itemSeparatorKey to be 'isSeparator' which is what SC.MenuItem uses.
Allows SC.State to represent the empty ("") route.  Previously, there was no way for a state to represent the empty route using representRoute:.  Now a state can set representRoute: "" to be triggered when the empty route is fired.
Removes a lot of legacy default CSS attached to SC.SegmentedView.   Also makes Ace theme slightly more easily allow for sprited button images (requires a width and height on the icon).   After some consideration, the icon sizes are set by default to:  12x12px for small, 14x14px for regular, 16x16px for large and 24x24px for huge.  These sizes fit well with the theme and although odd numbered heights would position more nicely, even numbered height icons are much more common.
Updates the Showcase submodule.
Updates CHANGELOG.md.
Adds test showing that you should be able to set a layout with a % width or height and use a centerX/centerY of 0.  Currently there is a conditional that prevents a percent size from using 0 as a center value.
Improves the center calculation for view layouts.  Previously you could not use a % width or height with a center value, but there is no technical reason for this limitation.  For example, a view with width: 0.3% and centerX: 0, should get the layout style:  "width: 30%; left: 50%; margin-left: -15%".  Previously it would show a warning and give the view a non-functioning style: "width: 30%; left: 50%; margin-left: 50%".

• See previous commit for unit test.
Updates the .design warning to match the new convention "Developer Warning: … ", which are warnings that appear only in debug mode that help alert devs when they are using the framework improperly.
Introduced failing unit test for centered zero-sized view.
Fixed edge layout case with centering zero-pixel views.
Merge pull request #854 from sproutcore/team/dcporter/zero-height-fix

Quickfix for layout edge case.
Adds SC.appCache and SC.platform.supportsApplicationCache.

Working with the application cache is a confusing and time-consuming task.  This simple object abstracts out the most important properties for developers to use: hasNewVersion, isNewVersionValid, progress and isReadyForOffline all the while using the minimum number of event listeners which are properly cleaned up when unneeded.  It also has a property shouldPoll that will lazily look for updates in the background at a fixed interval.  This could be especially useful in a test environment, where you want to ensure that the testers aren't running the old version (which happens frequently when using the application cache).
Updates the Changelog.
Removes extra whitespace.
Adds unit tests that show that parent view resizes are cascading needlessly to child views.  Fixed in next commit.
Fixes the excess calling of parentViewDidResize on child views when the view's position changes, but it's size doesn't. Previously, views that had fixed sizes (i.e. width + height), but not fixed positions (i.e. not left + top) would still call parentViewDidResize on their own child views each time that the view's parent view resized.  However, this isn't necessary, because changes to the view's parent view will effect the view's frame, but if the view has a fixed size, it will not effect the child view's frames.

- This fixes a strange issue that occurs with SC.ImageView's viewDidResize implementation, where it fails to resize appropriately.
- This separates isFixedLayout into isFixedPosition + isFixedSize, allowing us more options to decide what to do when the layout is a fixed position vs. a fixed size vs. both vs. neither.
- Note: A similar optimization already exists in layoutDidChange.
Fixes example code in SC.String.fmt
Merge pull request #858 from ricolicious/fix-string.fmt-docs

Fixes example code in SC.String.fmt