Merge all unit test files

All these test files have gone out of hand.  A single test library
provides a number of advantages:

- Faster loading
- Easier interactive testing
- Easier navigation in the test suite
- Better error checking with Flycheck
Use f.el to determine the load file of a checker
Add helper to create buffers from files
Only test cfengine if the mode is available
Add tests for flycheck-autoloads-file-p
Simplify some test code
Properly kill modified temporary buffers visiting files
Fix PHP test cases
Explain the rationale behind the puppet-lint definition
Refactor and improve the tests for message googleing
Add tests for -in-user-emacs-directory-p
Add tests for -string-to-number-safe
Add tests for -string-list-p
Add tags to all test cases
Remove a dummy test case
Revert "Install latest npm packages in test VM"

This reverts commit 0e991c56aac15dedd59aa3bcc3492195b5ad09d1, which in
turn reverted the earlier fcc62cf010a1839d2b5eac3a54292773a230d957.
Demote Puppet verbosity on Travis CI
Expect test failures if gpg is missing
Fix function quoting
Remove mocked tests