Redo of changes in new branch, plus new fixes.
Numerous changes to make voglcore build on windows. Covert all include guards to #pragma once style. Addition of vogl_port* to assist with porting issues.
Linux fixes to windows porting changes.
Fixed more porting bugs.
- Cmake - Added require_pthreads, which checks that pthreads are available and adds the include path for MSVC builds.
- Cmake - Modified executable suffix  to also include original platform suffix (so that windows still gets .exe)
- Cmake - removed gcc-specific linker warnings for MSVC builds
- Cmake - updated all projects using pthreads to require_pthreads. I think we may need to just set this in the default configuration, since voglcore requires pthreads.
- Cmake - set up default compilation options for MSVC builds: multithreaded compilation, correct runtime usage, always generate PDBs.
- voglcore - Fixed vogl::math::count_leading_zero_bits for MSVC.
- voglcore - Updated console code to use fputs to match linux behavior (using puts was causing all lines to be double spaced)
- voglcore - Added plat_chdir to change the current working directory
- voglcore - Added a NULL exception callback chain for windows (basically implemented vogl_set_exception_callback to just return it's parameter)
- voglcore - Added 'dbghelp.lib' as a required lib on windows for function demangling.
- voglcore - Added plat_fexist, a function to check for the existence only of a file
- voglcore - Fixed behavior in plat_virtual_free on windows to pass flags that windows expects. The fact that there are exactly two flags that are mutually exclusive is dumb.
- voglgen - On windows, just directly include source files for TinyXML.
Merge branch 'mcjohn'

Conflicts:
	src/voglcore/regex/regcomp.c
Fix conflict that somehow didn't get committed previously
+ voglgen - added code to output .inc and .txt files to directories, rather than into the cwd
+ voglcore - Fixed logging code to no longer double space on Windows.
+ voglcore - Added peek operation for files and memory streams
+ voglcore - Fix bug on Windows that caused file to appear to fail to parse correctly (incorrect line ending parsing)
+ voglcore - Now support Unix, Windows and OS9 style line endings.
+ voglgen - cleanup post-build target to actually belong to voglgen_make_inc, which was (I believe) the original intention
+ voglcommon - cleanup of use of naked uint (needs to be qualified with vogl::)
+ voglgen - Removed scoped_path and related logic for writing files.
- It was least code changes, but also easy to accidentally break later.
- Now explicitly pass the path of the output file to appropriate places.
- Fix whitespace differences between files in a few places (removed use of
  binary-mode for writing the files s.t. line-ending translation occurs.)
Merge branch 'master' of https://github.com/ValveSoftware/vogl

Conflicts:
	src/voglcore/vogl_core.h
	src/voglcore/vogl_uuid.cpp
vogleditor: add nested operations check

A check is added at the "glEnd" entrypoint to ensure it doesn't get
moved past the parent frame in the case of an unpaired glEnd(). This
can inadvertently occur in a program and will cause a crash. (Similar
defect in apitrace)

Signed-off-by: Lawrence L Love <lawrencex.l.love@intel.com>
Minor cleanup to get linux happy again.
- Linux properly builds everythign again.
- peek() now always implemented, though the implementation is BS for most classes (and tells you so if called)
- require_pthreads() now exposes linker variable to caller.
vogleditor: Add for additional nest operations

Add glPush/PopDebugGroup as nesting delimiters along with existing
glBegin/End. Use same method as for other "vogl_is_xxx_entrypoint"
operations.

Comments:
If this glPush/PopDebugGroup addition is (and/or possibly others are)
accepted for nesting, another method would be to add a flag attribute
to packets to identify apicall types that can be logically AND'd rather
than using a switch statement (as done in apitrace).

Alternatively, create a "nest" object to encapsulate this information,
initializing it with a set of nested pairs (statically or via some
preference) and provide an interface(s) to return needed information.

Signed-off-by: Lawrence L Love <lawrencex.l.love@intel.com>
Merge pull request #49 from lawlove/nestcheck

vogleditor: add nested operations check
Merge pull request #50 from vMcJohn/master

First round of porting changes for winvogl
Beginning of changes to vogl_common, need to do work in master for a bit.
Platform cleanup
- Define VOGL_METHOD_NAME to be __FUNCSIG__(Windows) or
  __PRETTY_FUNCTION(Linux).
- Kill demangle() code and use VOGL_METHOD_NAME.
- Rewrite vogl_is_debugger_present to not read entire file in and
  allocate vogl memory.
- Kill debugger check for debugger parent: TracerPid should work.
- This routine is called during asserts - which can happen in memory
  subsystem.
Merge branch 'master' into voglcommon_port

Conflicts:
	CMakeLists.txt