PIUtil throws too many exceptions

Hello,

Most of the work is in 3c56454607c745283808ef92b7f5afd95e6bd5db in the `isValid()` method.

The trouble was isValid() wasn't quite tough enough.  It threw exceptions about array lengths if passed a string less than the length of the object id prefix.  It should more properly just return false.  I added checks for correct string length and for the prefix.  I added tests for these conditions as well.

Hope this helps.

(Please note, I haven't changed the version number of amber in the pom in this pull request.)