Adding 'print', fixing bugs

Changes:
- 'print' special form now behaves correctly: it only evaluates the chosen branch
- Added 'print' primitive, for output to screen