[client] Improve ignore file.

Ignore local changes to ignored files.

Consider the following sequence:
1. a file is committed;
2. this file is added to seafile-ignore.txt so it's ignored from now on;
3. this file is changed;

If we don't ignore changes to this file, the worktree will be left in
an unclean state and pauses sync.

The same rule also applies for files under an ignored folder.

To make it easier to check whether a file is under an ignored folder,
we have to apply a restriction:
If you want to ignore folder 'foo', you write 'foo/' in seafile-ignore.txt.
Writing 'foo' will only ignore regular files or symlinks.