gsm: Make it possible for a .session file to define a fallback session
Two new keys are introduced: IsRunnableHelper and FallbackSession. The first one defines a helper that is run to know if the session can be used (only if the helper returns 0). The second defines the fallback session to use if the helper doesn't return 0. The helper cannot run for more than 500 ms. There is a test program to make sure that our helper process management works okay.
Showing with 288 additions and 2 deletions