Changes:

- Added unit type and its only member, unit, so that there is a simple
constant to be passed around. Probably  used in the runnable ocaml as
the place holder
- Removed the non interleaving reduction 
             e --> e'        e'' --> e'''
-------------------------------------------------------
fork (live e) (live e'') --> fork (live e') (live e''')     
- Added explicit termination of fork if one edge finishes (note, this
constrains how concurrency works) by adding the requirement that the
concurrent edges require the non-reducing path to not be a value either:

{{ ~ ( is_value_of_expr ( [[e]] ) ) }}
 e' --> e''
---------------------------- :: forkmove2
-(fork (live e) ) (live e') -->  (fork (live e) ) (live e'')