Security fixes.

Hivemind getters for units in the hivemind now return a pointer pointing
to a copy of the data the unit pointed to, rather than raw data. This
also means there's now just one getter instead of 20.
Allminds getters now return pointers to a copy of the hivemind, not
pointers to the actual hivemind, so that the data does not stay in date.
That required adding a default constructor and assignment operator for
hiveminds.
Tile getters now check that you are who you say you are before giving
you data.

BugFix: in unit::seehive(int hiveindex) it would set everything
correctly, and then set everything incorrectly - the old way, when
seeing was boolean. Commented out the old way.