resourceloader: Introduce new module state "executing"
No longer re-use "loading" to avoid confusion.
Code paths to 'execute' (such as in 'handlePending') already prevent
double execution by only allowing execution to be started when a module
is in state "loaded". So when execute takes ownership by progressing
the state to "executing" (or "loading"), no other code paths will enter
execute until execute itself sets the next state (ready or failed).