Support sector write to HFE virtual disks (API breaking)

HfeDisk can now read and write disk sectors.  It is still not possible to
create (format) a HFE virtual disk from this class.

- API changes in HfeDisk and HfeTrask to better support sector writing.
- Add HfeRawTrack class for decoding the tract block structure of HFE disks.
- Add MfmStream class to provide MFM encoding and decoding.
- Call SectorRead event handles properly.
- Sector read and write event objects now override ToString.
- Add Visual Studio .user files to .gitignore.
- Minor fixes.