GHash: add typed hash functions (were all (void *))

- BLI_ghashutil_strhash_n takes string length, to avoid terminating the string before hashing.
- BLI_ghashutil_inthash/uinthash take ints, to avoid casting to (void *)

This also showed up incorrect use of inthash, which was using a pointer.
Freestyle: Added missing mesh property definitions for Freestyle Edge/Face marks.

This revision also addresses the issue of these properties not shown in the Outliner
in the Datablocks display mode.  Now Freestyle edge/face marks can be keyframed
through the Outliner.
GHash: add BLI_ghashutil_uinthash_v4 for hashing 4 ints at once
Revert part of last commit,

RNA is low level data access, setting mesh values shouldn't change draw options.

Also its redundant to name attrs Face.freestyle_face_mark,
removed edge/face from attr names
Fix my last commit cad4bfe: Added 'use_' prefix to Freestyle edge/face mark properties.
Fix T39742: Crash with Cycles + new autosmooth crash

Nice little mistake, since the invalid mem access only happened once (the first time),
was close to valid mem, and was only used to read, it would not crash often...
Fix compilation (size_t not defined) by including stddef.h in BLI_sys_types.h
Code cleanup: indentation
Merge remote-tracking branch 'hm-blender/master'

* hm-blender/master:
  Code cleanup: indentation
  Fix compilation (size_t not defined) by including stddef.h in BLI_sys_types.h
  Fix T39742: Crash with Cycles + new autosmooth crash
  Fix my last commit cad4bfe: Added 'use_' prefix to Freestyle edge/face mark properties.
  Revert part of last commit,
  GHash: add BLI_ghashutil_uinthash_v4 for hashing 4 ints at once
  Freestyle: Added missing mesh property definitions for Freestyle Edge/Face marks.
  GHash: add typed hash functions (were all (void *))
Merge branch 'master' into mymods

* master:
  Code cleanup: indentation
  Fix compilation (size_t not defined) by including stddef.h in BLI_sys_types.h
  Fix T39742: Crash with Cycles + new autosmooth crash
  Fix my last commit cad4bfe: Added 'use_' prefix to Freestyle edge/face mark properties.
  Revert part of last commit,
  GHash: add BLI_ghashutil_uinthash_v4 for hashing 4 ints at once
  Freestyle: Added missing mesh property definitions for Freestyle Edge/Face marks.
  GHash: add typed hash functions (were all (void *))
OSX/python: update to py 3.4
Some style cleanup in sound area.
Fix T39607: Audio not in synch when the blend file loads.

Root of issue is probably in AUDASPACE itself (or even in OpenAL?).
Issue not present with SDL backend, only OpenAL afaik.

For now, workaround in Blender is to call seek twice when starting play
(not needed when resuming from pause).
Fix T39610: Shared mesh used for Mesh Deform causes crash

For now disable using linked edit mesh in the meshdeform modifier.

This is because editbmesh_get_derived_cage_and_final() might easily
conflict with the thread which evaluates object which is in the edit
mode for this mesh.

We'll support this case once granular dependency graph is landed.
Fix T39284: clamp cycles volume density to be >= 0, to avoid accidental strange shading.
Fix cycles standalone not writing images in background mode properly.
Fix T37675: blender internal viewport render wrong for volumes after rotation.

We really should not have Object.imat_ren, that's the wrong place to put render
data. But just update it now on rotation rather than doing a bigger refactor to
remove it.
Fix T39743: Crash when deleting faces in with new autosmooth.

Odd I did not catch this one... :/
Various fixes/improvements regarding BMesh's elem_index_dirty and BM_LOOP handling.

Most notably, BM_LOOP and BM_FACE index recompute should now be fully decoupled.
Math Lib: avoid having to pass a pre-calculated normal tot area_poly_v3

add normal_poly_v3