Better hidden file handling

This fixed [PICARD-589](http://tickets.musicbrainz.org/browse/PICARD-589) with the following two changes:

 1.  Allow loading hidden files / folders, if they are explicitly selected. This includes files/folders contained in hidden folders or folders which are hidden themselves. The "show hidden files" flag will still affect how hidden files / folder underneath the selected folder are treated.
 2. Separate the option to ignore hidden files ("ignore_hidden_files") during load from the option inside the file browser to hide hidden files.

Example:
```
~/music
|- .hidden_folder
   |- music_hidden.mp3
|- music_visible.mp3
```
If `ignore_hidden_files` is `True` and one loads the `music` folder into Picard, only `music_visible.mp3` will be loaded. But if one selects either `.hidden_folder` or `music_hidden.mp3` directly `music_hidden.mp3` will be loaded (this is not the case without this patch).

As a side effect this PR adds proper hidden file handling for the Windows platform.

Related to pull request #187
We might actually view the handling of hidden files under Windows as a separate feature. It was added more as a side effect here since I thought the current implementation was a bit incomplete.

If you want I'll add a JIRA ticket for this. But during implementation this was to me all more or less the same task (improve the handling of hidden files).