The double edge allocator should be aligned now, needs testing.

Also changed the code in the linear allocator to make it more clean.
made align allocate in the double edge into a template and cleaned up some code.
Tested the double edge and it seems to be working fine.
Merge remote-tracking branch 'origin/master' into Alignment