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. 
Does this, "resume" and "awaitSuspended" need public?

Actually, the whole class is package protected, so these shouldn't be public. It's not a fault of this PR, but all the other "protected" methods in this class don't make sense either.