fe310: Use read-modify-store instruction on GPIO
fe310: Use read-modify-store instruction on GPIO

The rv32imac supports the A (atomic) extensions containing
read-modify-store operations. This commit modifies the GPIO code to use
these for all bitwise operations. The atomic operations are emitted with
relaxed ordering as they do not require multiprocessor synchronization.

This decreases the duration of the gpio operations from 59 ns to 50 ns
per call. depending a bit on the type of operation.

authmillenon/RIOT,OTAkeys/RIOT,OlegHahm/RIOT,miri64/RIOT,kYc0o/RIOT,OTAkeys/RIOT,miri64/RIOT,OlegHahm/RIOT,authmillenon/RIOT,ant9000/RIOT,authmillenon/RIOT,jasonatran/RIOT,jasonatran/RIOT,OlegHahm/RIOT,authmillenon/RIOT,RIOT-OS/RIOT,authmillenon/RIOT,kaspar030/RIOT,miri64/RIOT,RIOT-OS/RIOT,kYc0o/RIOT,jasonatran/RIOT,OTAkeys/RIOT,ant9000/RIOT,jasonatran/RIOT,kaspar030/RIOT,kaspar030/RIOT,authmillenon/RIOT,miri64/RIOT,miri64/RIOT,OTAkeys/RIOT,jasonatran/RIOT,kaspar030/RIOT,OlegHahm/RIOT,ant9000/RIOT,kYc0o/RIOT,kaspar030/RIOT,RIOT-OS/RIOT,OlegHahm/RIOT,RIOT-OS/RIOT,OTAkeys/RIOT,ant9000/RIOT,kYc0o/RIOT,kYc0o/RIOT,RIOT-OS/RIOT,ant9000/RIOT