Fix computation of group length for 7FE0 group.
Fix check for encapsulated value end delimiter.

The vtkDICOMCompiler (which writes files) was incorrectly checking
for end of the sequence: it was long at the length, rather than at
the tag.
Posix mode was setting output files as read-only.

When I switched to using posix IO functions, I made the permission
mask too short by one digit, resulting in user permissions being
set to zero.
Encapsulated values were being written with a length.

By setting vl to the length of the value, I was overwriting the
correct value of "0xffffffff".
Add missing "O_TRUNC" for writing files.

Actually, it is possible to go one step further and unlink the file
if it exists.  That way, if anyone has hard links to the file, their
"copy" will not be overwritten.  Not sure if it's up to the library
to make that decision, though.
Add native Windows IO.

As for POSIX, this allows the use of native file handles.  It also
provides the benefit of using unicode filenames.
Add more functionality to vtkDICOMFile.

The GetFileSize() eliminates the need to call stat() in some
circumstances.  I want to avoid the use of stat() on Windows,
since it uses the default 8-bit codepage for filenames, while
vtkDICOMFile uses utf-8.
Fix GetSize so all implementations return -1 on error.
Add vtkDICOMValue methods that use count arguments.
Use size_t instead of unsigned int as interface type.

Using unsinged int is likely to cause many many compiler warnings,
because unsigned int is smaller than size_t and ptrdiff_t on 64 bit
systems.
Clean up vtkDICOMValue code, avoid unnecessary calcs.
Remove deprecated vtkDICOMValue methods from code.
Add another 8-bit field in vtkDICOMValue for overflow.

This is specifically for values that use delimiters instead of fixed
lengths, such as OB or UN VRs that store encapsulated data.  By adding
an 8-bit overflow byte for the 32-bit NumberOfValues field, it becomes
possible to store encapsulated data with sizes up to 2^40 bytes (1TB).
Values that use fixed lengths are still limited to 2^32-2 bytes (4GB)
as per the standard.
Use unsigned char as the basic "byte" type.

This will help to improve security, because the signedness of unsigned
char is always "unsigned", while the signedness of "char" depends on the
compiler.
Add an image codec class for compression/decompression.
Make the generated meta data a member of the generator.

This seems like a logical thing to do, since the generator
already has other member variables that depend on the meta data.
Add some support for functional groups and enhanced MR writing.