Add support for partial functions
Program functions can be declared as partial with "let/val partial". Similarly to "diverges", partial code cannot be ghost, however it does not need to be explicitly specified as partial. Fixes #184.
Showing with 175 additions and 62 deletions