Add IBM PC 5.25-inch HD and Acorn ADFS disc formats
Handle PC-like formats with starting sector != 1

Some PC-like formats (those written with 765-type controllers) have
their sectors numbered from '1'. Others (e.g. Acorn ADFS) are numbered
from zero. To fix this, we add a new field to the format_handler struct
which allows us to pass extra format data into the format handler. This
data is accessed only by the format handler and its meaning is intended
to be opaque to other code.

Other (non-IBMPC) format handlers may also use this interface if the
need arises.
code-style: fix tab/space mixup (oops\!)
Merge pull request #21 from philpem/add_acorn_formats

Add Acorn ADFS and IBM PC 5.25in HD format support
Zero the EADF track header when it's first created.

Without this, libdisk will write junk into the reserved field, which confuses
rawadf (and presumably other EADF tools).
Merge pull request #23 from atsampson/eadf-header-fix

Zero the EADF track header when it's first created.
Open files in binary mode to disable text translation

To ensure the correct handling of binary files under Windows, all file
opens now force binary mode.
Updated to use file_open macros, reducing original code changes

Use of the O_BINARY flag still depends on whether it's available,
rather than a build environment or platform check.
Changed file_open to use GCC variadic macro

Also changes the conditional use of O_BINARY to the MINGW32 build system.
Merge pull request #24 from simonowen/binary

Open files in binary mode to disable text translation
Cleaner definition of non-Windows version of file_open().
Fix win32 msys build
Merge pull request #25 from Lord-Nightmare/master

Fix for building on win32 mingw-msys
Create posix_mkdir() abstraction over environment-dependent mkdir()