BVAL-388 Create ElementKind enum containing all kinds of elements handled by Bean Validation
BVAL-388 Add Node subtypes as well as getKind and as methods

Also fix getName JavaDoc
BVAL-388 Add compile time code testing path traversal
BVAL-388 Remove ElementDescriptor.getKind() and the related enum

Also remove the as method specialization