Add various properties for more versatile requests, add simple model change listener

Add properties for requestType, POST data and content type. In combination with the new listModelUpdate property (which indicates whether the list model has updated, simply use by implementing onListModelUpdateChanged as onModelChanged never gets fired due to reusing the model object for all requests) and the loading property this enables implementation of rather versatile asynchronous requests. I've also removed the onSourceChanged observer and replaced it by an explicit refresh() function to allow changing of multiple request properties without accidentally triggering a request.