[WFLY-3830] Fix ExternalContextObjectFactory

* if the environment specifies an InitialContextFactory property,
  use it to build the context.
  Otherwise, the default context set to the
  org.jboss.as.naming.InitialContextFactory would be used and the
  resource would not be dereferenced properly by the correct context.
* use the lookup(String) version in NamingContext as some JNDI providers
  expect a specific type of Name (e.g. CompoundName) instead of the
  CompositeName instances we use.

JIRA: https://issues.jboss.org/browse/WFLY-3830