Add Named Factories to FactoryGirl.Net

The named factories are built from the type of the object as well as from
the Generic Arguments and a key. Otherwise Defining List<Foo> and List<Bar> would throw a duplicate factory exception.

Unnamed Factories are still available the only difference is the key is a
string instead of the type of the object the factory builds.