LINCS thread tasks can now be independent
With very locally coupled constraints, such as H-bonds only
constraints, the LINCS OpenMP tasks are now independent. This means
that no OpenMP barriers are required, which can significantly speed
up LINCS.
Additionally triangle constraints (which are present in e.g. OH groups
when using pdb2gmx -vsite) are now divided over thread tasks instead
of done by the master thread only. This slightly improves load
balancing and removes two thread barriers.
Change-Id: Ibbafd9c10f51d35a87e9784a0650d849c0d1c1e5