increased neighbor list size, max num atoms, and assertion to check for overflow

this fixes the "double free or corruption" error, due to corruption from overflowing the neighbor list allocated from heap.

included an assertion when building neighbor list. Will exit on assert(num_neighbors < MAX)