Initial version that allows you to pass a Variant::Value (VARIANT-CPP) into the Data constructor

This however is a fairly primitive implementation as it doesn't support vectors and maps from
the Data structure. It would probably be a better idea to get rid of StringValue, NumericValue, etc
and just keep the SmartTpl::Value base class and write a wrapper that wraps around Variant::Value and
implements SmartTpl::Value. We should probably pick different class names though as there already were
some name collisions..
Dumped most of the builtin values in favor for a VARIANT-CPP wrapper

This revision however is broken in all sort of ways. Foreach loops with
Variant::Value for example just aren't implemented at all atm for example.
Basically run the unit tests to find out what broke if you really want to know.
Implemented the Iterator interface for Variant::Value of the vector type
Implemented the MapIterator
Fixed the segfaults that occured during the tests

Because these are now fixed most of the tests are working correctly.
Some tests still are not working, mostly the foreach related once are
still broken at this point of time.
This one makes the foreachs working with the VariantValue by making assigning work correctly again

All the tests run correctly now!
Merge branch 'variant'

Conflicts:
	Makefile
	include/boolean.h
	include/callback.h
	include/datevalue.h
	include/empty.h
	include/list.h
	include/map.h
	include/numeric.h
	include/string.h
	include/value.h
	include/variant.h