Removed edgeE and updated edge

edgeE didn't really make sense, and edge was defined wrong.  I merged
them into the appropriate function:
edge :: ArrowInit a => a Bool (SEvent ())