Use monad transformers for the low level API

1. All C functions operating on pointers to opaque structures become
   Haskell functions returning a monad transformer that can be converted
   to an IO action. We define the monad transformers AclT, EntryT and
   PermsetT in terms of ReaderT reading the pointer to the corresponding
   C structure.

   This is an alternative to using ForeignPtr, and avoids the problem of
   C functions that free and reallocate their pointer argument.

2. The Qualifier data type has been eliminated and the Tag data type now
   includes qualifier information.

Signed-off-by: Nicola Squartini <tensor5@gmail.com>
Bump version to 0.2.0.0

Signed-off-by: Nicola Squartini <tensor5@gmail.com>
Eliminate parseExtLongTextFrom' (duplicate code)

Signed-off-by: Nicola Squartini <tensor5@gmail.com>
README.md: add Hackage badge

Signed-off-by: Nicola Squartini <tensor5@gmail.com>
Include README.md in the distribution

Signed-off-by: Nicola Squartini <tensor5@gmail.com>
Minor code improvements

Signed-off-by: Nicola Squartini <tensor5@gmail.com>
Use Safe Haskell

Signed-off-by: Nicola Squartini <tensor5@gmail.com>
Document the new low level API

Signed-off-by: Nicola Squartini <tensor5@gmail.com>
Add Haddock headers

Signed-off-by: Nicola Squartini <tensor5@gmail.com>
Rewrite ACL text form parsers

Signed-off-by: Nicola Squartini <tensor5@gmail.com>
Add links to the online PDF of 1003.1e standard

Signed-off-by: Nicola Squartini <tensor5@gmail.com>
Respect the 80 column rule

Signed-off-by: Nicola Squartini <tensor5@gmail.com>
Clarify that read only parses valid ACLs

Signed-off-by: Nicola Squartini <tensor5@gmail.com>
Show the ACL short text form by default

Signed-off-by: Nicola Squartini <tensor5@gmail.com>
Rename Internals.hs to C.hs

System/Posix/ACL/Internals.hs -> System/Posix/ACL/C.hs

Signed-off-by: Nicola Squartini <tensor5@gmail.com>
Rearrange import statements

Signed-off-by: Nicola Squartini <tensor5@gmail.com>
Fix incorrect use of getEntries and setTag

Signed-off-by: Nicola Squartini <tensor5@gmail.com>
System/Posix/ACL/C.hs: function renaming

runNewAclT      -> newACL
runDupAclT      -> dupACL
runEntryT       -> createEntry
runFromExtAclT  -> fromExt
runFromTextAclT -> fromText

Signed-off-by: Nicola Squartini <tensor5@gmail.com>
Clarify usage of newACL and createEntry

Signed-off-by: Nicola Squartini <tensor5@gmail.com>
C.hs: document foreign function calls

Signed-off-by: Nicola Squartini <tensor5@gmail.com>