SRNN-LM (work in progress)

simple recurrent neural network language model 
 * [x] nn.Module:listModules()
 * [x] nn.Recurrent()
  * [x] :backwardUpdateThroughTime()
  * [x] :training() accumulates outputs and inputs, :evaluate() doesn't
  * [x] :forget() forgets the previous state(s)
  * [x] :updateParameters() calls the parameter Module:updateParameters one at a time (for lookuptable)
  * [ ] use torch.retable for adding gradInputs to gradOutputs (https://github.com/torch/torch7/pull/87)
 * [x] dp.RecurrentDictionary()
   * [x] maxNorm()
   * [x] parameters()
   * [x] unit test
   * [x] handle zeroGradParameters()
 * [x] dp.RecurrentVisitorChain()
   * [x] visit interval argument (rho)
   * [x] handle sequence ends
 * [x] dp.SentenceSampler
  * [x] unit test
  * [x] publish to `forget` mediator channel
 * [x] recurrentlanguagemodel.lua script 
  * [x] scale output layer
 * [x] nn.LookupTable optimizations
   * [x] use torch.Tensor:index (https://github.com/torch/nn/pull/96)