extract-ghkm: workaround for extract-parallel issue

Don't write glue grammar or unknown word label files unless the sentence
offset is 0.  This prevents multiple instances of extract-ghkm writing
to the same two files when extract-parallel is used.

TODO Better solutions might be:
 1. modify extract-parallel so that it only configures one instance of
    extract-ghkm to write the glue / unknown-lhs files (like the current
    workaround, this assumes file chunks are representative of the whole)
 2. add multithreading support directly to extract-ghkm
 3. write distinct output files for each extract-ghkm instance and
    combine them on completion
Arrow pipeline submodules now use https protocol.
Merge branch 'master' of github.com:moses-smt/mosesdecoder
LM/Factory.cpp -> FF/Factory.cpp oops
Add option to do Penn Treebank style tokenization

tokenizer.perl and detokenizer.perl now have an option called -penn
which does Penn Treebank-like tokenization (English only).  This is
useful if your pipeline involves processing the corpus with tools
trained on PTB-tokenized text.

Unlike PTB, the tokenizer splits on slashes (e.g. "Monday/Tuesday"
becomes "Monday", "@/@", "Tuesday").  If using parse-de-berkeley.perl,
the option -split-slash re-joins tokens that are separated by slashes
for parsing then splits them afterwards.
Additional factoring to allow more NE recognizers; bug fixes
merge glue grammars, rather than writing them all to the same file. Required by Phil Williams & others when doing syntax extraction
Merge branch 'master' of github.com:moses-smt/mosesdecoder
Merge /home/hieu/workspace/github/mosesdecoder into hieu_opt_input