Start by using the precise parser again

It is more reliable and quite a bit faster.

The motivating problem for dropping it before, having half-typed code that
somehow produces a valid but unintended parse, doesn't seem like it'll be
a big problem outside of demo situations.
Change the way Server objects are created

Simply take a single object full of options, add defaults.
Add some input validation to the server
Add a first stab at a tern http server for desktop editors