Replaced int_wait by spin wait loops

As suggested by the Cray SHMEM manpages, wait calls have
been replaced by loops waiting for the variable to change.
A usleep call is used to force proc. to sleep. This should
probably be changed.
Improved performance of sendrecv2 implementation

The SendRecv2 performance has been improved by avoiding calls to the basic sendrecv.
It still uses getmem instead of put operations, so there is room for improvement.

This has been tested with 4 and 8 p. Profiled using the adh testcase.
Using long_wait for events

Since no major difference with the latest cray environment.
Code using the loop is still there and can be enabled if necessary.
Further benchmarking could prove to be useful.

Tested with 4,8 and adh with 8
Faster implementation of sendrecv2_rvec routine

The sendrecv2 now tries to get data in both directions at the same time
by using a while loop.