Teach ConditionalStorage about std::vector not having a data method.

Change-Id: I71dbefcd9c42741eb22bf50e41038789de7c660c
Ignore certain pragmas when using visual studio.

Visual Studio will warn every time it parses a pragma that it doesn't
support, so we make Visual Studio just ignore the pragmas.

Change-Id: If0c540b03cf8fb4fad9ead26c266c48886a90cbe
Missing includes for compilation on windows.

Mainly missing inclusion of windows.h for timing / sleep related headers.

Change-Id: I74ce9ab2504195e16e22c0965e84af21734b3b03
Fix Visual Studio type narrowing warnings.

Visual Studio is far more aggressive about type narrowing than other compilers.
It should be noted that the biggest change of this is that we have
found that zmq_poll takes a system specific long type which means that
our max polling duration on windows is significantly smaller than on other
operating systems. That means on windows we should move to zmq 3 asap.

Change-Id: Iddef276e993aa2045304272502d661e88f9a7aaf
Prefixed all usages of int64_t and uint64_t to be from the boost namespace.

Change-Id: I861357140da0e57a99bcfcc3384a294e038f925f
Correct type of the word 'define'.

Change-Id: I602de974ca29eaef68d964f31cc2c05995572e74
Visual Studio warns about usage of 'this' in initializer lists.

The code is completely valid since we only use member variables that
are already initialized, but VS doesn't like following the 'this' pointer.

Change-Id: Ie650cac1c0bcabd06dce319745c368a165cb280d
Use int64 type when possible, conversion to long can cause narrowing.

On windows long == int, so we can lose some duration if we cast
to a long before we absolutely need to.

Change-Id: Idc0a4c0352d4523a82d0a6ffe752a832ea23550f
Merge branch 'windows_support'

Change-Id: Iea007e39842b7edb642233dad2ba05bcda10cd10