SQW: try to workaround MSVS compile bug
Revert "SQW: try to workaround MSVS compile bug"

This reverts commit d5c7e8117aca818df1aee61ec9f46eb02aebda6e.
SQW: try to fix MSVS compile bug II
C++11: fix some issues with compiling with C++11 feautures
WPI: use std::list instead of std::set as intermediate leafs storage in intersections builder
WPI.btree: adapt preventing duplicing intersection points inserting algo without iterators storing (invalidated in btree::set)
WPI: fix mesh_part assignment operator
WPI: fix structured grid traits for tops_iterator

Idea is that we MUST store local buffer with vertex coords inside
sgrid_traits, because later cell::cpos() does direct reinterpret_cast to
obtain this CONSEQUENT buffer. So storing only indexes inside SGRID was
an error and lead to incorrect cell's coordinates and complete DISASTER!
Reimplement sgrid_traits + do some optimizations and improovements,
allowing, for ex. to pass references as ctor param of tops_iterator.

Gained a huge calculation speedup in release version (~ 6 times faster).
WPI: fix sgrid_traits compatibilty with google associative containers

Storing reference to sgrid_handle  doen't work with google btree associative
containers, because they construct elements using empty ctor +
assignment operator.
That leads to mesh handle uninitialized in most iterators
so we actually have to store a COPY of handle in every sgrid_traits.
SQW: revert and refactor commit 39ddb619f6440d00e7bc874fd4501ba506275b71

SQW: fix saving of empty sql_well object w/o open connection to any DB
Added some helper functions to the pool
WPI: remove usage of 'auto' C++11 keyword
fixing debug compile
fix h5 64-bit compilation
mesh: fix bug related to getting address of temp corner object
hdf5_storage: add explicit serialization function for h5_pool
SQW: switch to sqlite3_open_v2() instead of sqlite3_open (don't create file)
SQW: fix bug with sql_well object loading via pointer to base class

Problem: exporting explicit serialize_from_str() for sql_well class
probably lead to instantiating deserialization code in py_sql_well.cpp
unit. By some chance this code took precedence over code in
sql_well_serialize.cpp unit and screwed the overall loading machinery,
invoked from hdm_serialize.cpp (bs_bos_core_data_storage) via ptr to
sql_well's base abstract class. As a result incorrectly constructed
instance of _abstract_ class was passed as an agrument to sql_well's
load() function.

Solution: place all serialization-related code into single module
sql_well_serialize.cpp, so only one instance exists among all
translation units. Maybe some magic with GUIDs and/or prior registration
of classes relations can also solve this issue.
h5_pool : move all serialization-related code to single translation unit

Do the same as in prev commit for h5_pool. Although it didn't magically
cause problems like sql_well, magic can broke at any time. So it's much
safer to do like I do )
SRZ: indirect serialization of derived class using code for base interface

Address an issue with boost::serialization when
serializing abstract class A and derived class D (via pointers)
lead to creating _different_ archive content even when A* ptr really
points to an instance of D. When saving via ptr to abstract base class,
name (GUID) of derived class is included in archive string, while direct
saving of D produce no such information. Thus, string dumped via ptr to
base class cannot be loaded by specific code for derived class (stream
error) and vice versa.