Directory: Remove MPD field, add a parameter with refreshData.
Directory: Add a (full) constructor.
Directory: Add a method to generate a directory with a custom name.
FSFragment: Remove unnecessary empty directory check.

MPDCommand is null safe, and empty arguments are meaningless with lsinfo.
Directory: Refactor refreshData().

This refactors refreshData() and getDir() as refresh(). This combines the two
as one method. This also fixes a few possible races. Finally, this fixes
issue #617. This bug was caused by quite an old regression where entry maps
were not cleared prior to updating, which is required because there is
no differential directory updating in the MPD protocol and we can't clear the
entries that no longer exist.
Directory: Prevent a few unlikely but possible races.

Lock when iterating over a collection.
Directory: Clean up a few warnings.
Directory: Improve the javadoc.
dmix: Add javadoc to Android build variants.
gitignore: Remove redundant values.

Remove the top half that were already defined under build/, remove
workspace as being previously defined.