Added some timestamp test cases.

* Test cases which we try to confuse fix by setting the TARGET mtime
  (far) in the past and in the future.

* Modified write_file (test framework function) to allow for setting
  file mtime when writing files.

* Fixed broken testcase '08-rebuilding-successful-build.t' so that it
  now actually tests whether the already present target is modified or
  not.
Added file timestamp tests.

* Added a bunch of tests that see how fix react to target, buildscript
  and metadata files that have timestamps in the future and in the past
  (fix should not care about this).

* Made output indentation more robust in the test framework. (Now
  gracefully indents input containing newlines as well.)

* Added a whole lot of documenting comments for the test functions.
Fixed 'is' test function.

* Test fail output of 'is' stripped trailing newlines, making it
  impossible for the user to tell what the problem was when two strings
  differed only in the amount of newlines they ended with. Created the
  'seteval' function to fix this problem.

* Added 'seteval' function to test framework. This function is an
  alternative to the shell $(...)/`...` construct, which differs from
  them in that it preserves trailing newlines.

* Added author tests for testing the test framework.

* Added a bunch more documenting comments to the test framework.
Added 'error' function to test framework.

* Function outputs an error message to standard output (if any) and
  exits with exit status 255.

* Added author test for the 'error' function.
Added more rebuild test cases.
Refactoring of test code and descriptions.