Two bug fixes from Faisal Aslam, many thanks!

 I have found two problems with ORW. One was big and should be taken as a serious bug. The other one is just a small hiccups.

1) Using ORW a mote always stop sending data packet after 255 packets are send if receiver and sender are only one hop away. If they are
more than one hop away then this problem appears only sometimes.

Solution:
To fix this bug you need to change "uint16_t seqNum;" to "uint8_t seqNum;" in file OppP.nc. It is line number 69.

Reason:
I am not 100% sure about the reason of this bug but I have a guess. That the "incSeqNum()" was incrementing a 16 byte integer while returning a 8 byte integer.
The next hop receiver was dropping packets considering them duplication as they are being send with same sequence number (due to 16 bit to 8 bit conversion).
You can also fix this bug by making seqNum 16 bytes in all the functions (i.e. incSeqNum(), getSeqNum, setSeqNum, init etc) but I prefer to keep it 8 bytes long.

2) The second was a minor problem however still it took long time to solve it.
In the CTP application when one has to get the data packets received, then the code is something like that:
 event message_t* Receive.receive(message_t* bufPtr,  void* payload, uint8_t len){
   test_lpl_msg_t* easy = (test_lpl_msg_t*)payload;
  //do something with easy->data here
  return bufPtr;
}
In ORW the above code give garbage in data.

Solution:
The following code works.
 event message_t* Receive.receive(message_t* bufPtr,  void* payload, uint8_t len){
   test_lpl_msg_t* easy = (test_lpl_msg_t*)call Packet.getPayload(bufPtr, sizeof(test_lpl_msg_t));
  //do something with easy->data here
  return bufPtr;
}
This bug (may be not called a bug) could be fixed by copying data to payload before signaling the receive event. It is no big deal but if people will try to mimic CTP code then it will not work with ORW.

There is also another serious problem with ORW. However, I need to dig more into it to find out why and what about that.