CHashedMultilabelModel along with unit tests

`phi` must be sparse.  If your feature space has `2**20 == 1M` features, then this will always read 4 MB of data for a simple dot-product.  This is not necessary.  Use sparse features.