Added tests using predicates instead of specifications in Find and FindAll
First succesful call to Repository.GetInstance<>

Uses the config file to properly load the correct repository
More progress on configuration files

Added for RavenDb, MongoDb, Ef and Ef5
EF has a dbContextType where you can set the specific context type you
are using.  Like in our integration we are using TestObjectEntities.
Building out CachingStrategies sections
Loading of caching repo with caching strategy and provider

Not the prettiest code in the world but getting it done for now.  Will
want to refactor for sure.  But that comes later.
Major rework of configuration

Usage is like:
for the default config:
var repos = RepositoryFactory.GetInstance<Contact, string>();
for a specific repository
var repos = RepositoryFactory.GetInstance<Contact,
string>("Ef5Repository");

A basic config file looks like this:

<sharpRepository>
<repositories>
<repository name="efRepos"
factory="SharpRepository.EfRepository.EfConfigRepositoryFactory,
SharpRepository.EfRepository" connectionString="EfConnectionString" />
</repositories>
<cachingProviders default="inMemoryProvider">
<cachingProvider name="inMemoryProvider"
factory="SharpRepository.Repository.Caching.InMemoryConfigCachingProviderFactory,
SharpRepository.Repository"/>
</cachingProviders>
<cachingStrategies default="standard">
<cachingStrategy name="standard"
factory="SharpRepository.Repository.Caching.StandardConfigCachingStrategyFactory,
SharpRepository.Repository" />
</cachingStrategies>
</sharpRepository>

Each repository, provider and strategy can have it's own unique
attributes that you must provide, for example, TimeoutStrategy needs to
have a timeout attribute provided, EF5Repository needs a
connectionString, RedisCachingProvider needs a host and port, etc.
Added couple quick tests to make sure my logic was working
Overload in RepositoryFactory to default to int PK
Update to test app.config to have more completeness
NoCachingStrategy configuration factory

Created a factory for the NoCachingStrategy.  This allows there to be a
default caching strategy in place and then for a specific repository
give it a no caching strategy to override that default.  Without this
factory there was no way to do that.
Fixed an issue with loading the caching strategy from configuraiton

It wasn't updating the QueryManager so it was using the
NoCachingStrategy even when the CachingStrategy got updated, the
QueryManager didn't.

Changed exceptions in configuraiton loading to
ConfigurationErrorsException instead of ArgumentException.

Added web.config transformation files but haven't got them working yet
when creating a new nuget package, that comes next.
added/updated web.config.transform files

memcached defaults to a memcached section for it's config, that is the
default enyim.memcached uses

redis defaults to host 127.0.0.1 and port 6379 which are the redis
defaults

EF5 uses a connectionStringName of DefaultConneciton which is what EF5
uses when the nuget package is installed
All config unit tests pass now

Need to really exapnd the unit testing for the configuraiton piece.

We need to add a bunch of different groups in the app.config that have
different combinations of repositories, strategies and caching
providers, load them based on section name and valid that it loaded as
expected
Updated NUnit and mongoDbDriver nuget packages to latest
Updated memcached web.config.transform

Added a new default memcached section to use instead so that it doesn't
overwrite any that the user already has, then they can alter it as
needed to use that one or their existing one.
More flexibility in using the RepositoryFactory

Now you can either load it up from the configuration file, or you can
pass in a configuration object that is a similar structure (list of
repositories, strategies and providers),  The configuration section and
the configuration object both use the same interface so the logic for
loading the repository is using that interface.

This is how enyim's memcached configuration works and I think it
provides osme nice options.
Added cofig and factory classes to non NuGet projects as well
Add CacheUsed flag to Repository that pulls from QueryManager

Added tests for it in a QueryManagerTests file

Also cleaned up the other caching tests to remove unused stuff
Marked EfRepository as Obsolete and removed project from solution

Changed the unit and integration tests to use the Ef5Repository where it
was using EfRepository before.

Made sure all unit and integration tests still passed
Added RepositoryFactory overloads that accept types as parmeters instead of as generics

Useful for StructureMap wiring of IRepository<T, TKey>

Added IAmIn... "finder" interfaces that can be used to find assemblies
to scan in StrucutreMap or elsewhere