Bug 1072493 - Add initial testing suites

Supersedes #2770 to move the tests and improve the docs.
Removed from both commits.