Caching attribute for OutPort

Added `caching` option to `OutPort`. A caching outport emits previously sent value when a new connection is attached to it. Ref #151.