Implement static taskqueue, reorganise lpel_config, refine code
- static taskqueue: use double linked list, suppor static priority only
  (either location-based from the rts, or static priority)
- reorganise lpel_config: contain all user-defined params and pass to
  workerInit
- refinement:
  + update task prior in case neg_lim is not defined
  + when rec_lim is used, check only data rec (even in case no stream monitoring is set)
  + masterloop: break into small functions --> easy to follow
distinguish wrapper and sosi tasks & bug fix
- bug: hrc_stream should increase read/write counter before unlock
  + this avoid cases where stream is destroyed by the other task before
    read/write counter is updated
- wrapper vs sosi: distinguish them by the worker id
  - output stream of sosi is considered as input of the program,
        stream.type = LPEL_STREAM_ENTRY
  - input stream of sosi is consider as output of the program,
        stream.type = LPEL_STREAM_EXIT