Fix print_something() support again, add unit tests

If you have `var x:Date`, you can implement your own print function:

	function print_x() return DateTools.format(x, "...");

Unit tests for simple and complex behaviour. Seems okay-ish...