add template parameter to set resource allocator

If allocator not defined it is inherited from super class all the way up
to base_resource::allocator defined as
pool_allocator<base_resource,free_store,uint16_t>
compile time check of store consistency

Need more work to generate helpfull error message, in the mean time
could use run time check instead
consistent persistent storage for all classes
...
Merge branch 'test_resource' into tuple

Conflicts:
	custom_allocator.h
	objrdf.h
	pseudo_ptr.h