blah
Fix POSIX backend with reading data.

Its perfectly fine that a read returns less then the actual size
of the pre-allocated buffer. We should also use the actual count
read (cc) as the return value in data_lenp. Also when the offset +
range_length given is bigger then the actual filesize only read the
data left.
Don't use creat() as that will truncate the file on every open.

creat(path, mode) translates to open(path, O_WRONLY | O_CREAT | O_TRUNC, mode)
which means on every blob you write to a file using the POSIX backend
you truncate the file and loose previously written data.
Fix problem with DPL_OPTION_NOALLOC

When using DPL_OPTION_NOALLOC the size of the buffer is passed on via
the data_lenp variable so we need to pass that to backend get() method
so if we dont get a valid data_lenp pointer we set it in dpl_get() now
to point to a the local data_len variable so we always have a valid
data_lenp pointer to pass to the backend get method. As we now pass on
the pointer all the way from the upper layers all the way down to the
lowest layer we get the actual length off the preallocated buffer and
can return the actual size of the bytes we stored in the buffer on
return.
Add OBS spec file and install includes not in subdir.
added possiblility to not optimize during compile

you can now set
   %define noopt 1

to not optimize during compiletime, and

   %define noopt 0

to do it.