Cleans whitespace.
Makes test descriptions unique so that which test passed/failed is easier to determine.
Fixes regression from recent fix to SC.CollectionView which inserted replacement views in the wrong position.
Fixes incorrect code in SC.CollectionView reloadIfNeeded when reloading all indexes.  The previous version would check the containerView's childViews and either pool them or destroy them, which doesn't work because itemViews can be created without being a child view of the container.  So the same itemView would be created twice with the same layerId, which isn't so bad in this case, but not correct either.  As well, the "optimized" replaceAllChildren implementation is almost exactly the same as the original replaceAllChildren.  If we can really optimize replaceAllChildren by setting 'childViews' rather than appending them sequentially, why not do that in SC.View.prototype.replaceAllChildren?
Deprecates SC.BENCHMARK_RELOAD as a public property of SC.CollectionView.  This is a property used for developing and improving SC.CollectionView and doesn't need to be public.  It also doesn't need to be included in production code.  Anyone hacking on SC.CollectionView can add (and later remove) their own benchmarks while they are coding it.
Cleans whitespace and unused variables/poor formatting.
Bumps greenhouse submodule.
Fixed a typo
Merge pull request #922 from livemocha/browser_fix_2

Fixed a typo
Fixes bug when testing animation events, which occurred when trying to insert an animation rule into a stylesheet that started with @charset.   Instead the rule will be inserted at the end of the stylesheet and the cleanup code will start at the end and go backwards to find it.
Removes z-index from SC.SelectView label for Ace.  SproutCore styles should not use z-index and it's not needed in this case either.
Adds unit test highlighting regression in SC.ContainerView if destroying before setting nowShowing.
Fixes regression where calling destroy on SC.ContainerView before it has had a nowShowing property would throw an exception.  This was because the internal array to clean up in destroy is lazily created.
Changes missing child view error to a warning, since we don't actually throw an exception.  Also pulls the warning out of production code.
Fixes SC.GridView's calculation of max height when its width changes.  Previously, as the grid view was compressed or expanded, the layout of the grid view (maxHeight) would not update, which meant that scroll views would not adjust their scroll heights appropriately.

This removes the computeLayout() call from the reloadIfNeeded method in SC.CollectionView.  Since only certain events should require the layout to change (i.e. itemsPerRow changes in SC.GridView, row heights change in SC.ListView or the content length changes), we don't need to repeatedly run the computeLayout code every time we scroll a little bit.

Adds adjustLayout method to SC.CollectionView which can be used with invokeOnce to adjust the view's layout when one of the previously mentioned events occurs.
Tidies SC.ScrollView wrt jshint.  Removes several declared but unused variables.
Adds the content view layer observer to the original content.  Previously, only when the content view changed would the new content view be observed for layer changes.
Fixes SC.ScrollView's always updating scroller visibility and maximum scroll offsets.  The code was supposed to only go through the process of determining scroller visibility and dimensions when forced (due to the scroll view's frame changing or when the content's cached width and height matches the current width and height of the content).  The code assumed that the first argument would normally be undefined, but because the function is an observer method, the first argument is always the target of the observer.  Therefore, the fast path conditional would always be false.

This changes the code to instead clear out the cached content width and height before calling contentViewFrameDidChange, which will allow the code to run completely.  Subsequent calls from the observed changes will be able to exit early based on the cached values.
Fixes problems with SC.MenuPane.

- it will now observe the items array for changes to its contents, so if the items array object itself doesn't change we can still update the menu items
- it no longer shares the default items array object with all instances of the menu pane
- it no longer shares the internal key equivalents hash object with all instances of the menu pane
- removes unused variables
- fully deprecates support for an items object to be an array
- improves jsdocs
Fixes bug when calling animate from within the invokeNext queue on a view that is already being animated in the same queue, but has not yet been modified.  Includes unit test.