mvebu_gpio: Multiple fixes.
- gpio register access primitives
- locking in interrupt path
- cleanup
In cooperation with: mw
Reviewed by: mw (initial version)
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D29044
Differential Revision: https://reviews.freebsd.org/D28911
(cherry picked from commit a5dce53b75d8750ba95623ad2dbffac4acfd3545)