Observations handling

this provides an endpoint for observations upload (that doesn't do much yet)
also some other cleanup