Adds very rough version of initial integration testing.

This just tests the "build" functionality (not "link"). It tests:
 - a single template file is parsed by staticjinja and output is produced
 - the output file is in the expected place
 - the output file contains the expected contents

This could mainly benefit from reworking to use an actual test framework (maybe a unit test framework, though it's really integration testing). Key goals would be:
 - break current test into multiple distinct tests for the checks above
 - give better test output on failures, particularly expected vs acutal value
 - provide a cleaner entry point into test run, possibly allowing integration into a larger test suite
Moves some integration testing code into common module for re-use.
integration tests: Removes unneeded import in test_build.
Adds another integration test, now for "link" step.

This also includes some re-organising existing test code to allow re-use.
integration tests: rewrites test_link to use test framework unittest.

This is the unittest module from the standard library.
Integration tests: Moves re-usable parts of TestLinkTestCase to class in common.
Integration tests: moves useful features of test_link's setup into a mixin class in common.
Integration tests: Rewrites test_build to use unittest framework.
integration tests: Moves test_build's assertion code for better readability and fail output.