Stabilise spec tests
Bring in some of the sign-in waiting logic from the upstream qa tests: https://gitlab.com/gitlab-org/gitlab-ce/blob/4d0fd75cd5ceda72692a229d27ab6891fa8082e0/qa/qa/page/main/login.rb#L42
As well as switching how we check the number of runners to be javacript loading friendly.
(If you load the runner page, it starts with just one header row that satisfies our runner count, then async loads the runners, how we were calling count before resulted in the test not waiting to see if more would show up.)