Draw array in link from source to dest in clone.

This makes it clear in which direction the cloning is done. Note that the
arrow has been set on the inner circle to let the whole healed area
visible.
Merge branch 'spot-arrow'

* spot-arrow:
  Draw array in link from source to dest in clone.
New translation: Danish
Merge branch 'master' of https://github.com/darktable-org/darktable
Updated danish po file (sorry, could have done that directly...)
Correctly escape non-c-format strings for xgettext in gui/preferences.c
add libluaautoc as a dependency
adding src/lua/preferences.c to list of translatable files
Forgot to add Danish to the LINGUAS file.
Update french translation.
masks : don't lost the shape focus during a resize
Updated Czech translation
lua : add the typing system

A dt-lua type is
* a full user data
* registered to luaautoc
* with index/newindex/pairs metamethods
* if it is a struct, registered members are automatically accessed/iterated
* callbacks are used to access/iterate other members
lua : introduce glist helpers

this allows function to easily push and pull a glist of lautoc-typed objects

the list is converted into a numerically-indexed table of converted objects

when converting back all objects are taken independently of their index
lua : add darktable.debug with some debugging function

currently this contains two fields

darktable.debug.debug : means we want extra debugging information

dartabke.debug.dump(object,[name]) : will return a string describing object. object can be anything, name is a name to help pretty printing

from now on, your test rc.lua should start with the following code

dt = require "darktable"
print(dt.debug.dump(dt,"dt")

this will print a dump of the complete environement.

you can set dt.debug.debug to true, but expect the result to be unreadable
lua : add the image type

each image has the following fields
* exif_exposure
* exif_aperture
* exit_iso
* exif_focal_length
* exif_focus_distance
* exif_crop
* exif_maker
* exif_model
* exif_datetime_taken
* filename (RO)
* width (RO)
* height (RO)
* longitude
* latitude
* rating
* creator
* publisher
* title
* description
* rights
* path (RO)
* duplicate_index (RO)
* is_ldr (RO)
* is_hdr (RO)
* is_raw (RO)
* id (RO)
* <colorlabel>

images can't be accessed in this commit.
lua : database handling

dt.database is a "magic table" with the following properties
* #database : number of images in the db
* database[i] : returns the image i
* database.duplicate(image) : returns a new image, duplicate of the param
* database.import(string) : if string is a file, import it. if it's a directory, import all images in the directory

* image:duplicate() is an alias for database.duplicate(image)
lua : add selection handling

 * darktable.gui.selection([table of images]) :
    if a table of images is provided, set the selection to that table
      returns the old selection
    if no table is provided, return the selection
lua : introduce module handling

modules are thing dynamically loaded at runtime, like iop, storages, format

export a table giving the current value for the module

* darktable.storage.<storage_name> : current configuration for the storage
* darktable.format.<format_name> : current configuration for the format
lua : introduce storage

* darktable.register_storage(short_name,name,store,finalizer)

register a new storage that can be selected by the user from the UI.
short name : unique name for the storage
name : name displayed in the UI
store : function(storage,image,format,img_number,img_total,high_quality)
   called once for each image
finalizer : function(storage)
   called after all images have been processed

note that the storage acts like a lua table : you can add your own fields to it