Fix test_that_readme_is_up_to_date on Travis

On Travis the test was failing with:

    fatal: No names found, cannot describe anything.
    Cloning into 'stb-tester'...
    fatal: attempt to fetch/clone from a shallow repository
    fatal: Could not read from remote repository.
    Please make sure you have the correct access rights
    and the repository exists.
    error: Failed to run 'update-api-docs'

It seems that the stb-tester checkout ($srcdir in the test) is a shallow
clone, and it seems that the version of git on travis can't clone from a
shallow clone.

This commit copies the entire stb-tester checkout instead of cloning it,
and it uses `diff` instead of `git diff` to detect changes. As a nice
side effect, the test is now valid even if you're running the test on
uncommitted changes.