libroot: Remove support for unaligned data in atomic_{get,set}[64]()

As Axel and others suggested support for unaligned memory locations
is removed from atomic_{get,set}[64]() functions. This makes
atomic_{get,set}[64]_aligned() functions no longer needed.
Also, since new atomic_set[64]() is not able to return the old value
new functions atomic_get_and_set[64]() are introduced.
kernel, libroot: Use atomic_get_and_set[64]() when needed
docs: Update atomic_*() functions documentation