Updated test case so that it passes.

However, the heuristics for constrained decoding aren't perfect.
added berkeley LM license (following claim at https://code.google.com/p/berkeleylm/)
updated berkeleylm to version 1.1.5+ (r529)
updated help message
added check for grammar file to be filtered
cleaned up a lot of parameters that were used for backwards compatibility
bugfix: feature weights no longer case sensitive
case insensitive but case preserving
Deprecated old feature-file loading format and updated test cases.

In the past, the presence of a feature weight would trigger a feature (e.g., OOVPenalty), and many
features could be specified in one way in the config file and another way in the weights file
(e.g., "phrasemodel pt 0 WEIGHT" and "tm_pt_0 WEIGHT". Now, features have to be triggered only
by the presence of the "tm" or "lm" lines or an explicit invocation such as "feature-function = OOVPenalty".
Weights can be listed in either the config file or the weights file. The weights file was introduced
last year but it's more trouble than it's worth, so I'll be pushing to just have the entire model
in a single file.
only delete sorted grammar on success
added error check for loading packed grammars
bugfix: lowercase feature names
reverted last change
bugfix: weights read from file were not being lowercased; also updated some documentation
fixed comment formatting
Moved weights from a separate file into the Joshua config file
Modified to work with weights included in main config file
Test run steps now list the test source as a cachepipe dependency. fixes #127
Removed duplicate variable check, improved formatting
Cleaned up some of the examples