gis-page: Add an error argument to save_data()

This allows errors to be returned from pages if saving data fails.
Currently, the top-level handling for these is to print a `g_warning()`,
but that could change in future to display the errors in the UI.

This introduces one behaviour difference from before:
`gis_driver_save_data()` now stops saving data after the first error
from a page, rather than carrying on calling `save_data()` on all pages
regardless.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Fixes: #95
2 jobs for save-data in 10 minutes and 9 seconds (queued for 1 second)
Status Job ID Name Coverage
  Build
passed #592489
build-maximal

00:04:01

passed #592488
build-minimal

00:10:09