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
I probably would have given the OSX stuff a try, but since I have no way to test it I just kept this for somebody else. In  the end it seems to come down to this code for OSX:

``` python
import Foundation

def is_hidden(path):
    url = Foundation.NSURL.fileURLWithPath_(path)
    return url.getResourceValue_forKey_error_(None, Foundation.NSURLIsHiddenKey, None)[0]
```