add a first test for _is_sourced
fix test that was always true

that is because assertTrue passes almost all the time.
tests: add docstring
new test: procurement sourcing without procurement
add test: sourcing with draft purchase requisition
add test: closed pr is sourced
add test: done pr is sourced
refactor _is_sourced* to be instance methods
remove NotImplementedError: does not help much
return list or errors instead of booleans
return list of errors also for invalid PR
meaningful errors for procurement sourcing
adapt "other" sourcing, too
use in-memory models in tests

This allows to isolate tests from irrelevant information, which is a
huge win.
remove unused imports
adapt _do_sourced to new error messages
rename test file
actually print out error messages
test that the source button actually raises
sourcing with no lines fails