Add Named Factories to FactoryGirl.Net

Unnamed Factories are still available the only difference is the key is a
string instead of the type of the object the factory builds

The named factories are built from the type of the object as well as from
the Generic Arguments and a key. This is different from @rbuskov 's implementation as defining List<Foo> and List<Bar> would throw a duplicate factory exception. 

.