Clean up thread_x86.c
Clean up thread_x86.c

Some performance testing show there is a slight improvement in performance
when thread_scheduler is inlined so I've reorder things to make it and
its callees inlineable.

While working the H.J. Lu on gcc
(bug 70220)[https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70220] i created
test_isr to to see how mov instructions might be used to save registers
rather than push/pop in isr's. Seems to work and leaving it in for future
reference.

Sadly, it doesn't look like long term I'll be able to use interrupt
attribute for thread context switching or handling debug interrupts.
For thread context switching this isn't a big loss because using interrupts
is the wrong approach because its slow. Currently I don't know by how
much but I do know that Linux is about 1.5 times faster than sadie. Sadie
is taking 618 ticks and 427 for Linux when doing a ac_thread_yield. My
first thought was a clock difference, but now I believe its the overhead
of using interrupts for ac_thread_yield while Linux is using sysenter and
sysexit.

winksaville/sadie,winksaville/sadie