Add ServletContainerInitializer based annotation scanner (#1107)

This commit adds an annotation scanner that uses a ServletContainerInitializer
to take advantage of the containers annotation scanning. If
ServletContainerInitializers are supported then this will be used by default,
otherwise the existing annotation scanner is used.

This change makes annotation scanning more portable, and allows atmosphere
to work on Wildfly/JBoss AS.