Moving test files to the same directory structure than code.
Allow factories with several methods to match several initializers.

Removing one more restriction from the TyphoonFactoryProvider. Now you can
have factories with several methods implicitly matched with the best init
methods from the return type.

The matching is done using the Stable Marriage algorithm, a little modified to
left init methods without matching, if needed.

See #102

Also:
- Updated the documentation.
- Fixed a bug where the dependency properties could not be nil (strange for
  them to be, but anyway).