Fix sign error when checking for max unicode value.
Only match date and time to the given precision.

A date query of "2007" should succeed for all dates in 2007.
Make value comparisons more exclusive.

Except for UIDs, the DICOM standard does not specify how to deal with
search patterns that have multiplicity.  My thoughts are that it is
best to be exclusive (i.e. require all parts to match), because if the
user wants to be more inclusive they can simply perform multiple searches.
For numerical values, I've gone as far as requiring the values to appear
in the same order as in the search pattern.
Bump the version number to 0.5.2.

One critical bug was fixed:
- The vtkDICOMReader::CanReadFile() method always segfaulted.

Enhancements:
- The implementation of vtkDICOMValue::Matches() is complete.