New chart data structure &c.

- Chart objects with similar API for both PCFG and PLCFRS,
  gets rid of code duplication in non-parser code.
- Viterbi probabilities only stored for items, not for all charts
- use fused types to generate versions of code for different types
  (testbit, pcfg.parse, plcfrs.parse)
- when parsing fails, use results from previous stage, if any.
- correctly use morphology parameter when writing trees
- DoubleAgenda stores Python floats as priorities, with macro to get at
  its C double directly.
- move Agenda to .pxi file included in plcfrs, to enable early binding
- constants.pxi: separate .pxi file for Cython constants defined with DEF
- Grammar object:
  - move to .pxi file included in containers, to avoid
    circular dependencies.
  - mark initial segment of non-terminals which occur as LHS of phrasal
	rules (i.e., 1 <= n < grammar.phrasalnonterminals)
  - sort lbinary and rbinary by probabilities given equal LHS.
- every module has a test() function, and a main() function when there
  is a CLI.
- remove unused variables in Cython code, thanks to -Wextra warnings