improve - move to api package
improve - use ArmorResult.hasException()
improve - exception handle
new - ArmorFilterChain implementation
fix - adjust for ArmorFilterChain API change