The horizontal scrollbar takes gutter width into account
Move gutterWidth into state; add specs for scrollbar position
:lipstick: Move logic into measureGutterIfNeeded
Add specs for toggling the gutter when the editor is hidden
Move horiz scrollbar into the scrollView

Also remove all the gutter width calculation. It was flawed anyway,
Romove runSetImmediateCallbacks() in many cases

This is because of the removal of the gutter measurement. When there 
was measurement, every load of the editor would measure and request at 
least one render based on the reset of the gutter width. These 
specs don’t need to call runSetImmediateCallbacks() as they either 
don’t do anything to cause a render or they render immediately
(in the case of updated options).

In some cases, we need to make sure nothing happened, so I added a
hasSetImmediateCallbacks() function, which is used in specs where 
nothing should have happened.
Remove unnecessary scrollbar specs
Merge pull request #3044 from atom/bo-h-scrollbar

Horizontal scrollbar no longer covers the gutter