open/4,5: allow atoms/lists as flags

Modify the open/4,5 function to take:

    * integers
    * lists of integers or atoms

The atoms are named the same as the O_* macros, except lowercased.
clone/2,3: use a list of atoms/integers for flags

Accept an integer or a list of atoms/integers for the flags argument. If
a list is passed, the value are OR'ed together. The values for atoms are
looked up from the constants defined in the system header files.
mount: convert mountflags to list

Pass in an integer or a list of integers/atoms for the mount flags
parameter.

The mount flags is an unsigned integer and the decode function returns
an int. While this is probably ok, there are a number of typecasts in
the lookup code that needs to cleaned up.