Merge Vector4 contribution from jgcode

Signed-off-by: Paul Holden <paulholden2@gmail.com>

Fixing macros, modified vector4 test
Fixing build, non MSVC have debug/release targets
Fixing Vector4 global friends
GCC doesn't allow friend declarations to substitute true global function declarations
Removing exception throwing from linked list
It's the end-user's responsibility to debug their code to prevent segfaults from popping empty stacks/lists.
Merge pull request #36 from palistov/palistov_linkedlist

Removing exception throwing from linked list
Merge branch 'master' into contribution

Conflicts:
	src/math/Vector4.cpp