Use KeyId instead of NId for TNEANet attributes

Add{Int,Str,Flt}AttrDat[NE] use the NodeH.GetKeyId(NId) and
EdgeH.GetKeyId(EId) for their index into the attribute vectors, but the
rest of the functions did not. This would allow the functions to still
work if all the nodes corresponded exactly between the NId and the
KeyId, but this doesn't happen when you use LoadEdgeList.
More fixes and tests for TNEANet attributes

There were no checks that the right node was being set correctly which
allowed some errors in the attributes code to go unnoticed. Add in the
checks so that there is no regression.

These tests also found some more omissions from the last patch which are
also fixed.
Merge pull request #30 from kruton/master

Use KeyId instead of NId for TNEANet attributes