Merging settings; tests structure

This change makes the settings object merge with the provided options, instead of replacing the whole provided dictionary, so that the user doesn't need to copy all of the default elements in the custom options file. For example, for the nytimes API we just need "api_key" to be provided as a new option, while the other default options work fine, so it's best to ask the user to just provide "api_key".

Also, this pull request changes the tests structure to reflect the production package structure, so that it's easier to find out the path to a package while walking from the tests to the production code and vice-versa. It also helps with deciding where to place new test modules, and to name them.