Add multi thread indexing to hierarchical_clustering_index.

OpenMP is used for multi threading.

About 3.3 times faster than single thread version. (MacBook Pro Retina, 2.7 GHz Intel Core i7 4cores)

Thread safe of PooledAllocator::PooledAllocator is made by a little rough way.