Fix unittest for std.array.overlap

This pull request contaits the following changes:
* Move the example in the comment into the documented unittest
* Mark unittests as safe, pure and nothrow
  I didn't mark one unittest as safe, pure and nothrow because it uses `std.stdio.writeln` which is not pure and (currently) not safe and uses `dup` which may (currently) throw an exception.