Modified the server_roles test to be more flexible
Tweak the first: Highly performant cell and row locators

For reasons I didn't immediately see, the table row iterator was very slow.
Tables are now largely powered by the 'find_rows_by_cells' method, but I tried
to maintain the existing interfaces while letting them benefit from the speedups.

As a side-effect, it was worthwhile to functionalize row creation, so it's pretty
easy to make rows now.
Tweak the second: Table.Row is easier to instantiate

Namely, with a `<tr>` element and a `Table` instance. Now, you should
be able to do a silly thing like this:

row = Table.Row(element(table.create_row_from_element(row_element).table.find_row({'header': value})), table)
Tweak the third: Table constructor is easier to work with for normal tables

Many (most?) tables in CFME are "normal" tables, with thead and tbody children.
Table now assumes it's dealing with such a table. In cases where the tables are
abnormal, and the header body rows are in different tables, SplitTable joins the
party to handle the ridiculousness.

This commit also includes additional docs.
Existing Table instances converted to SplitTable where needed
Merge pull request #481 from seandst/table-tweaks

Table tweaks
smyers's suggestions
Old tests cleanout, login modernized

* We don't need pages/region tests anymore
* test_login is covered in the new stuff, though it seemed like a good idea
  to modernize the new login page a little bit, as well as improve the bad creds test
* Got rid of test_phantom_login, because it wasn't reliable. I did create a version
  of this using the new code and put it on the linked BZ so that future QE engies
  aren't starting from nothing when it's time to verify.
* Small tweak to make pytest.sel.browser always return an open browser.
Merge pull request #489 from seandst/kill-old-tests

Old tests cleanout, login modernized
New configure table construction
Merge pull request #491 from seandst/configure-tables

New configure table construction
trolololo
Merge pull request #492 from seandst/configure-tables

trolololo
a few minor test fixes/cleanup
Merge pull request #494 from dajohnso/fix_tests

a few minor test fixes/cleanup
Quick fix to make Cartouche happy again
Merge pull request #497 from psav/fix_docs

Quick fix to make Cartouche happy again
Added SplitTable reference
Merge pull request #499 from psav/fix_docs

Added SplitTable reference
Reverted change to pytest_selenium in c8e6d594