Removed ParserItemTemplate.hpp for install list
Removed CJSON check to top level CMakeLists.txt file
Changed include path to cJSON
Added function install_headers() which will retain header prefix path
Relaxed internalParseLarge test
Added deckIndex property to deckKeyword
Deck->keywordContainer will set deckIndex of DeckKeyword when inserting: Have relaxed const properties of DeckKeyword
Added (empty) TimeMap class
Moved enable_language( C ) to top level CMakeLists.txt
Added basic functionality to assemble a timeMap
Add missing header for function used inline in class
Don't use prof. guided opt. and auto. par. in Clang

Clang compilers doesn't support the -pg (profile-guided optimization)
or -fopenmp (automatic parallelization) switches, so those should only
be included conditionally.
Link Boost dynamically if we are building shared

The static Boost libraries are not built with -fPIC, so it cannot be
linked into a shared object anyway. This is also how the Linux distros
want it.
Generate main function if linking dynamically

Unit tests must have their main function generated by the Boost::Unit
headers if we are linking dynamically because it is not in the shared
objects.
Compare size with unsigned int literal

Surprisingly, some compilers (notably GCC 4.6.3) will issue a warning
when comparing a literal which is clearly positive to an unsigned type,
when looking for a suitable instantiation in Boost. This is fixed by
making the literal unsigned too, so there's no doubt.
Merge branch 'master' into cmake-package-config
Changed Findcjson.cmake to use OPM_PARSER_ROOT as prefix - if CJSON_ROOT has not been set
Added install-headers function + opm-parser-prereqs.cmake
Merge remote-tracking branch 'upstream/master' into time-map
Change unintended compile-time polymorphism to dynamic

equals(ParserIntItem&) has a different signature than equals(ParserItem&),
thus the former method does *not* overload the latter. Virtual just means
then only means that you have created a *new* entry in the v-table. If
you call equals through a pointer/reference to the base class ParserItem,
the defined method in the derived class is not called, and we miss out the
test for the equal default value.

Instead, we should take an argument of the base type and use a dynamic
cast to the derived type. If this downcast fails, then they are not equal;
otherwise we have gotten ourselves a pointer to get the properly typed
default value.

We must use pointers instead of references; if we cast to a reference,
a bad_cast exception is thrown if the expression is not in the proper
type hierarchy.