Merge branch 'gpart_ids' into 'master'
One major change to replace all gpart id/parts with the new id_or_neg_offset. As discussed in #123, this merge request changes the `gpart.id` and `gpart.part` anonymous union into a single `long long int id_or_neg_offset`. If this number is positive, then it is the particle ID and the `gpart` has no hydro counterpart. If this number is negative, then it is the offset in the `parts` array of this particle's hydro counterpart. See merge request !118