fix non-pointer uintptr -> uint64, export NextUID

Allows other iterator implementations to use global UID namespace.
Merge pull request #85 from pbnjay/global_uids

fix non-pointer uintptr -> uint64, export NextUID
Move tag handling out into graph.Tagger
Move UID handling from Base

Also clean up some of the value creation code.
Remove Base dependency from Null
Move SubIterator handling out of Base
Move Size handling out of Base
Move current result handling out of Base

Delete majority of Base functionality.
Intermediate step in removal of Base

We are marking types that will be Nexters and ResultNexters (I want a
better name for this one).
Base nexting on interface satisfaction

This is done unsubtlely at the moment and there is plenty of room for
optimisation of assertion location to prevent repeated reasserting as is
done now.
Merge branch 'declassify' into tip

Conflicts:
	graph/iterator/hasa_iterator.go
	graph/iterator/linksto_iterator.go
	graph/iterator/query_shape_test.go
	graph/leveldb/all_iterator.go
	graph/leveldb/iterator.go
	graph/leveldb/leveldb_test.go
	graph/memstore/triplestore_test.go
	graph/mongo/iterator.go