simplify status.initialize_artefacts and clean up Component constructors; also add some tests

Note that this includes the previous pullreq, so that one needs to be accepted first to make the comparison sensible.  Or look at this diff: https://github.com/matey-jack/yadtshell/compare/master_ahead...master_refactor