more complete i/o interface, extra memory macros

Improved I/O implementation with better handling for files and objects.

 - Removed reverse iteration.

 - Created an isolated file to managing I/O objects. Added a specialized
   object for writing entire files.

 - Added blank functions for I/O control signals.

 - Further work on file implementations. Implemented input and output objects
   from a file object. Added file seek and tell. Fixed file open error
   handling for POSIX systems.

 - Implemented counter output wrapper.

Simple additions for easier memory managment.

 - Added memory duplication functions, for both types and untyped inputs.

 - Added macro for obtaining the container structure given a memeber element.