separate parsing from SPARQL processing

The whole parser definition is no longer loaded by any code that uses
the library, only by sparql_engine.cpp, that should save some
compilation time
new header for ongoing sparql parser improvement
ongoing effort to separate parsing from query processing
new template parameter to pass property and class name

If NEW_NAME is defined the property and class names will be passed by a
structure with a single static member:
struct tmp{
	static char* name(){return "tmp";}
};
this fixes the multiple symbol problem and the special flag passed to
the linker is no longer needed. Once it seems stable the old code will
be removed.