Support for NPLM (experimental)

This pushes various changes to allow ucam tools to compile together with
nplm, wrapped by kenlm.

To enable NPLM, you need define in Makefile.inc* three new variables:
NPLM_INCLUDE, NPLM_LIB and EIGEN_INCLUDE.

*** This is an experimental feature, largely untested.
I have compiled it with EIGEN library 3.1.4 and NPLM 0.1 modified
by Ken Heafield (i.e. https://github.com/kpu/nplm).

All ucam tools loading a language model *should* be able to
load and use an NNPLM model.

A few changes to the language model loading and the on-the-fly
composition were needed to get this to compile. This is because
the NPLM Model class constructor and State class are different to
those of standard KenLM.