Update demo/plc to work with current Fan.
No (deliberate) functional changes.

Changes to make code compile:
  removed many trailing ';'s
  changed many '[' ... | ... ']' to '|' ... | .. (in fun, match, etc)
  changed many list 'a to 'a list (and option)
  changed many '[x::xs]' to '(x::xs)' (which seemed the right thing but is clearly different)

Changes caused by Fan changed:
  {:xxx| .. |} changed to %xxx{...}
  OPT changed to ?
  x{y} to x as y
  $(..) to %{..}
  -> (in rules) to nothing
  $list: to ${xx_of_list ..}
  String -> Stringf
  LocUtil -> Locf
  Gram -> Gramf
  Fan.Syntax.Options to Foptions
  FanArg to Arg

Nasties:
  PlParser: 69 handling of Integer is probably not right
  PlParser: 84 had trouble getting Fan to accept this
  PlParser: 98 do I want to call this here?  I thought ye
  PlTranslate: 163-167 or_of_list should be in Ast_gen
  PlTranslate: 184-188 is much worse
  PlTranslate: 600-612 had trouble with types
Revert change to PlParser where L0 S wasn't recognised (trivial).
Follows fix: 69d7a27f12f2e4c5594f58b0cd7e7f371b443df3
Move demo/plc to thirdparty/plc
No functional changes
Very simple embedded Prolog example plus Makefile

must build fan and fan.run first
"make demo1" should build the build and executable
"./demo" should output 2 lines of text
simplify grammar by using new features
simplify the grammar using unfoldable opt
simplify the grammar
improve ! as application instead of fields
tweak
improve keyword locations
improve assignment locations
tweak
Merge pull request #6 from ngunn/plc2

Updated demo/plc to latest Fan changes.  Moved to thirdparty
add some analysis code
add bounds variable
more robust ? metavariable
merge plc demo
clean
temp broken
tweak