Fix for a problem with excessive triple removal on EntityManager.merge() when there are multiple bean instances (different Java classes/Empire annotations) for the same RDF individual, and one of those beans does not have mInstanceTriples field initialized (or is empty). Previously, merge() would try to estimate mInstanceTriples by performing a describe operation on the RDF individual (as an attempt to fix a problem with duplicated triples on merge), but this estimate was effectively computing what mAllTriples would typically contain. The current approach on estimation creates a copy of the bean being merged (using the same Java class as the bean being merged) and populates it for that RDF individual, and then uses the copy's mInstanceTriples, which is more accurate since it takes into account annotations on the specific Java class.
* first pass at cleaning up the SPI/DI layer
* PlanGenerator does not need to be created by Guice, it only does so because we're overloading a DI framework to do SPI for us.  So we're just going to use the JDK service loader (faster, simplified, guice friendly version of it anyway) to find the Function & PropertyFunction implementations we need.
* ValueProviderFactory, FunctionRegistry, & PropertyFunctions no longer need guice, the just get stuff from the SPI layer now.  Thus, you dont need guice to create PlanGenerator.  Next is the executable plan factory
Added support for mapping multiple values to a simple object field in non strict mode (EmpireOptions.STRICT_MODE set to false): the first entry of the value collection is used.
Merge pull request #85 from lbihanic/master

[Enhancement] Support mapping multiple triples to a simple value in non strict mode
* couple small test code tweaks
* small build file update
Merge branch 'master' of github.com:mhgrove/Empire
updating cp openrdf & utils to 1.0 & 2.4.1 respectively, deleting the unused 4store libs
additional updates for the sesame 2.7 transition
updating sesame to 2.7
fixing error in example that was accidentally committed
* remove errant closing curly brace from generated query
* explicitly coercing primitive object types to their primitive values
* applying laurent's patch for correct handling of multiply typed individuals when lazy loading them into a collection, fix #87
* gitignore file
* updating guava to 14 & sesame to 2.7.0 final
* ivy buildout for managing project
* couple test code changes to reflect new layout
* removed cyclic dependency b/w tests (jena & sesame) and core, fix #80
* dropping sdb support.  keeping code around in case anyone wants to revive it, but it's not in the jena module anymore
removing committed jars since ivy will just pull them down now
* removing rev's in the ivy files, not needed
* fixing a typo in the build file
* empire modules updates
updating sesame
* resolve the perm gen leak, fixes #86