start joshua-decoder in a webserver. the subprocess completes after decoding the input.
keep the joshua-decoder subprocess alive for decoding more inputs from the client.
example webserver using RESTlet library runs
resolve RESTlet jar dependency
script for initiating server
added RESTlet JSON extension to dependencies
GET request initiates the decoder and connects output through server response
memoize the 1-best translation
only instantiate one JoshuaDecoder,

instead of a new one with every GET request
Merge branch 'devel-deps' into webserver, (really memoize translation)

* devel-deps: (164 commits)
  getting rid of stderr
  added missing config file to test case
  added test cases for n-ary grammars
  remove deprecated sent-specific parameter
  removed debugging statement
  pulled in ReadOrThrow exception bugfix from kenlm commit c964540637a79081ad321861ecbcd4fccbb1f283
  simplified the glue file for parsing
  Fixed test cases to work with new glue file.
  updated glue grammar creating script to not need a config file
  updated thrax to generate new glue file format
  removed sent-specific LMs and TMs
  updated glue grammar
  now adding 
 symbol early in decoding
  added usage() statement
  updated test cases since LM is now computing real UNK costs
  bugfix: need gstat on OS X
  thrax submodule updated (earlier update was incorrect)
  formatting and documentation
  logger now informs you when constrained decoding is happening
  synchronous parser tests now passing
  ...

Conflicts:
	src/joshua/decoder/DecoderFactory.java
	src/joshua/decoder/Translation.java
ArgsParser class to handle input from cli, new JoshuaDecoder method translateString.
Merge branch 'webserver' of github.com:lukeorland/joshua into webserver
removed DecoderFactory, also setting of oracle file and nbest file
Rewrote the internals of thread management.

Before, we used an InputHandler which knew about all of the file input.  The threads
were created with knowledge of the InputHandler, and queried it for sentences until
it was exhausted, at which point they died.

This does not work for a model where there may be multiple (many-sentence) requests,
such as for a server version.  So we've rewritten things to use a thread pool.  Requests
(chunks of sentences) now continually obtain and release threads until all of their
sentences are translated.
Merge branch 'devel' into webserver

Conflicts:
	build.xml
parsing: fold ParserThread into DecoderThread

Since the parser only needs to do some extra work at the end of
the decoding process, we've removed ParserThread and put the extra
work at the end of the DecoderThread.
fixed bug in build file
synchronous parsing: use Strings for node labels

Matt claims that with forced decoding on the first pass, the
chart will be small enough that we don't need to do all this
hacky stuff when creating the second-pass grammar.

So instead we just do the simple thing, and add strings of the
form "i-X-j" to the Vocabulary and use them for the grammar.
Originally, we didn't explicitly build up the strings, which led
to ugly bookkeeping.
Merge branch 'devel' into webserver

Conflicts:
	build.xml
	src/joshua/decoder/hypergraph/KBestExtractor.java
	src/joshua/ui/tree_visualizer/browser/Browser.java
updated test case