WFLY-1247 Initial core work on graceful shutdown

Initial work in Graceful shutdown, ready for review, do not merge without Brian's ok. There is still more work that needs to be done in this area, but as the core server constructs are unlikely to change I think it might be best to get this in sooner rather than later so that work can start on the subsystem components. 

This PR adds the following
- The SuspendController service, that co-ordinates graceful shutdown. Subsystems register themselves with this service in order to be notified of graceful shutdown events
- :suspend and :resume operations, that allow the server to be placed into a suspended state, and then resumed from that state
- Adds a timeout parameter to server stop/shutdown operations. If this is present and non-zero then a graceful shutdown will be attempted. 

This PR is missing the following: 
- Discard/reject transformers for the new operations/attributes
- Support for graceful :reload and :restart. At present this requires two operations. 
This is actually 'true' as the OSH is going to change the state of the running service. The meaning of this param is extremely broad, not just about ServiceContainer/ServiceController state.

It doesn't much matter because L320 is going to tell the OperationContext that services are going to be changed. It does a bit of fragility because of RBAC though; e.g. RBAC could reject the context.removeService call but the user has already been allowed to call pauseDeployment when they shouldn't be allowed. (In reality we have no roles that could do the Stage.MODEL part of an undeploy while not being able to change the services, but it's theoretically possible some custom RBAC impl would allow that.)