API enhancements and bugfixes.

In this group of commits, the following issues have been addressed:

- hyperrealm/libconfig#1 :: Assignment to `std::string` is ambiguous and causes compiler error.
- hyperrealm/libconfig#2 :: Addition of `Config::Config(std::string const&)`.
- hyperrealm/libconfig#3 :: Addition of iterator for lists or arrays of `Setting`s.
- hyperrealm/libconfig#4 :: Interface unification between `Config` and `Setting` lookup() functions.

I have followed the coding standards that have were present in the files paying attention to whitespace and naming conventions.

I propose that with these changes the version be bumped to `1.5` as there have been several changes to the API (although none break backwards compatibility as far as I'm aware). Before accepting this pull request, could you please indicate all files that need modifying in the comments so I can make the changes and add them as a commit to this pull request so that all changes for the new version can be grouped together in one merge.

If anyone encounters problems after these changes have been applied, contact me and I'll fix them as soon as I can, although I don't expect any as I've done quite a bit of testing.