test for object graphs with loops
moves tpe pickling into every case of a tag.key match

if a performance regression exists, it's negligible. on travInt,
I've been getting 92-96 for this commit's parent and 95-99 for the commit
itself. on evactor2 there was no difference.
loops in object graphs

Conflicts:
	core/src/main/scala/pickling/Custom.scala
	core/src/main/scala/pickling/Macros.scala
	core/src/main/scala/pickling/package.scala
	project/Build.scala