Maid 271 Windows Permissions

This patch will convert Posix ACLs from MetaData to a windows ACL list and then verify access privileges to the appropriate functions. Since every file/folder in drive is currently marked as read/write to the owner only, this patch will restrict access to drive to the user that mounted in windows. No other user will be able to view or modify the contents of the drive. This patch is pretty large, and might need to be held off until drive_v2 is merged into next (talk to Prakash).

I would also like feedback on the error handling. I decided to throw exceptions if a windows function failed - this should only happen in extreme circumstances (bad parameter or out-of-memory, etc.). expect<> might be preferrable here, but its not available, and the error cases should truly be rare.
I am also of unstrong opinion about const unique_ptr &. It says that this pointer is externally lifetime managed, but then you should assume *all* pointers are externally lifetime managed in C++. Where I am of unstrong opinion, I usually take the option involving the least typing personally.