Fluentapi ctor cleanup

Re issue #19

Have removed all ctor overloads for `FluentApi<T>` apart from the one containing the essential collaborator interfaces, and tidied up the tests.

Concrete instantiation now happens in the `ApiFactory` method, and still uses the `EssentialDependencyCheck` to establish that a client implementation has set up 7digital Api dependencies if using the `Api<T>`.Create() method
Put these two EssentialDependencyCheck calls in the ctor as they can be a bit too slow to do on every request, and these settings don't change