Update code to use spinlocks where needed

Redid interrupt_enabled function in assembly
Added commentary in spinlock.c