Changed some of the checks to support strings as vlan identifiers as

supported by RFC 2868.

This change does not claim to be exhaustive. We probably have other
checks like this where we assume the identifier is an integer instead
of a string.