Fix sys:get_state/2 and sys:replace_state/3 when sys suspended

Adds two new system callbacks Module:system_get_state/1 and
Module:system_replace_state/2 to allow sys:get_state/2 and
sys:replace_state/3 to used be when a process is suspended by sys.

The previous behaviour of intercepting the system message and passing
a tuple of size 2 as the last argument to sys:handle_system_msg/6 will
continue to work when a process is not suspend by sys. If the process is
suspended by sys and the new callbacks are not exported the process will
not crash but an undef error will be returned to the caller.