Implement the new scan, scanf and printf builtin functions.

  printf is the same as print, but receives an extra first argument
that may be a stream or a string object.
  scanf receives an extra first argument that may be a stream or a
string, and scan uses stdin as input.
  scan* works almost like the C scanf function, with the exception
that it requires an untyped vector to store scanned values, and
does not support a few options, like positional arguments (easy
to abstract as would be telling in which vector offset to store the
scanned value) neither %n (that could also be abstracted).
  The new check/scan test case is a very simple usage example, and
is in another test file because it requires input from stdin to run.