raw_app: make raw_app abstract over value type
raw_app: implement lift and ap for Raw_app.t

Now that Raw_app.t can produce arbitrary values, an applicative
interface is possible. And appealing.
Merge pull request #342 from frenetic-lang/raw_app

Low-level app interface abstracts over value type