* @brief creates a new context for a user level process
* @param code a main function
* @param cleanup_func the function to call when the context stops
* @brief creates a new context for a user level process
* @param code a main function
* @param cleanup_func the function to call when the context stops