Getter of optional fields return boost::optionals

Return values of functions that return basic types like string, double, int.. now return optionals. According changes to the tests.
Documentation work for the Dimensions.

I hope I found everything that is optional....

this should solve issue #86