Print method for displaying instances on the screen

The public print() method of an instance is called, if present,
from print.R6, the generic R6 print method. This way classes can
define how they want their instances  printed.

This is for #5. If you think it is OK this way, then I can also add
this feature to the manual and the README.
The test in test-r6-portable.R isn't necessary. This set of tests is for features involving inheritance when `portable=TRUE`.