Implemented HashedMutlilabelModel for feature hashing

This should be done in the model like this (naming of functions is up to you ;)):
```
public void compute_dense_vectors(CResultSet ret)
{
   if (!ret.psi_computed)
   {
      ret.psi_true = ...;
      ret.psi_pred = ...;
   }
}
public void compute_sparse_vectors(CResultSet ret)
{
   if (!ret.psi_computed_sparse)
   {
      ret.psi_true_sparse = ...;
      ret.psi_pred_sparse = ...;
   }
}
```

The idea is that sparse and dense psi are only computed on demand.  If you already computed the values once, don't do it again, because results are cached.

On demand computation is done in the model, so nobody has to manipulate CResultSet on its own.  Results are cached/stored in CResultSet.