Don't assume AVX registers are available here
Unnecessary since this is done in calling function
Creating register utility functions.

First creating one for modifying debug registers
Report AVX state properly to watchpoint handler and other minor changes
Restructuring..
More restructuring.
Added general set/get register functions
Fix incorrect base pointer bug I introduced in last commit
Added older float registers support since not all CPUs have AVX ones

Created a generic 'vector' type that will either use AVX or Float registers depending on whether or not the host has AVX support.