avoid conflict with the POSIX timer_t type

It hits a compilation error with glibc 2.19 without a rename.
Merge pull request #114 from thestinger/timer

avoid conflict with the POSIX timer_t type
Thwart optimization of free(malloc(1)) in microbench.
Add relevant function attributes to [msn]allocx().
Add support for sized deallocation.

This adds a new `sdallocx` function to the external API, allowing the
size to be passed by the caller.  It avoids some extra reads in the
thread cache fast path.  In the case where stats are enabled, this
avoids the work of calculating the size from the pointer.

An assertion validates the size that's passed in, so enabling debugging
will allow users of the API to debug cases where an incorrect size is
passed in.

The performance win for a contrived microbenchmark doing an allocation
and immediately freeing it is ~10%.  It may have a different impact on a
real workload.

Closes #28
fix isqalloct (should call isdalloct)