Pool/Index data is not aligned

As mentioned in #2580, there are some crashes on sparc machines. Turns out that for 32-bit builds, the ```data``` member of ```git_pool_page``` is sitting on a 4-byte boundary instead of an 8-byte boundary.

Seems like there are more crashes, independent of this one, tracking them down.

Update:
There were some crashes in the index test cases as we were casting the buffer contents directly to structs. What sucks here is the fact that the structures are of variable size, due to the path member. 
So I made the change based on the build logs from #2580. One example: https://buildd.debian.org/status/fetch.php?pkg=libgit2&arch=sparc&ver=0.21.1-1&stamp=1409916527

These warnings:
```
In function 'git__free',
    inlined from 'diff_patch_free' at /«PKGBUILDDIR»/src/diff_patch.c:250:3,
    inlined from 'git_patch_free.part.6' at /«PKGBUILDDIR»/src/diff_patch.c:631:3,
    inlined from 'git_patch_free',
    inlined from 'diff_from_sources' at /«PKGBUILDDIR»/src/diff_patch.c:433:2:
/«PKGBUILDDIR»/src/util.h:98:2: warning: attempt to free a non-heap object 'pd' [-Wfree-nonheap-object]```

I ```memset``` it to zero for safety (to ensure ```GIT_DIFF_PATCH_ALLOCATED``` is not set).