Add more Thai translation.
530 translated messages, 2 fuzzy translations, 1098 untranslated messages
lua : fix images reporting their height instead of their ID
lua : improve dumper

correctly detect more cases of duplicates, in particular images
lua/image : add group management

* _group_with(image,[image]) : puts the first image in the same group as the second image. If no second image is provided, the image will be in its own group
* _make_group_leader(image) : makes the image the leader of its group
* _get_group_members_ : returns a table containing all images of the group. The group leader is both at a numeric key and at the "leader" special key (so you probably want to use ipairs to iterate through that table)
Merge pull request #239 from tawtao/th-trans

Add more Thai translation.
masks shapes : fix corner cases

fix crash with sharp corners from the beginning
limit saved conf values for borders to 0.5f
masks path : fix border direction at sharp corner
noise profile: panasonic gh-2 by thouks
noise profile: updated panasonic dmc-fz18 by sergey
Revert "Change the default behaviour of selection and hovering"

This reverts commit 139d24b4addc4c00df3162dff6923739b98bec1a.

+ some code comment.
noise profile: nikon d5200 by timur
[mi] : duplicate blend params too
masks : delete masks grp on iop reset
update to rawspeed r543
(cherry picked from commit 746bf76c39efa74c2b01988141eaf005bb202bce)
lua : fix an unbalanced call in type registration
lua : fix incorrect calls to pop
fix a minor memory leak in tags
lua add tag support

dt.tags.# : each tag is indexec by a number, use ipairs to iterate
dt.tags.create(name) : creates a new tag and return it. returns the existing tag if it exists
dt.tags.find(name) : returns the tag object or nil if the tag doesn't exist
dt.tags.delete(tag) : deletes the tag object, detaching it from all images
dt.tags.attach(tag,image) : (parameter order can be reversed) attach a tag to an image
dt.tags.detach(tag,image) : (parameter order can be reversed) detach a tag from an image
dt.tags.get_tags(image) : return a table with all tags attached to the image

tags object have the following structure
<tag>.# : each image attached to the tag has a numerical entry
<tag>.name : the name of the tag
<tag>:delete() : deletes the tag
<tag>:attach(image) : see dt.tags.attach
<tag>:detach(image) : see dt.tags.detach
<tag> also handles tostring and equality correctly

the following method have been added to images
<image>:attach_tag(tag) : see dt.tags.attach
<image>:detach_tag(tag) : see dt.tags.detach
<image>:get_tags() : see dt.tags.get_tags
lua : add events

darktable.register_event(event_type,callback,...)

this function register a callback to be called when a given event happents

* event_type : the event to register to
* callback : the function to call on event
* ... : extra parameters, depend on the type of event

this implements two events

* post-import-image : no extra parameters
	called when an image is imported into the database, before any processing happens. Can be registered multiple times
* shortcut : one extra parameter : string : name of the shortcut in the shortcut panel
	called when the corresponding shortcut is pressed. can only be registered once per shortcut
lua : add a way to get the hovered image and the action_images

dt.gui.hovered : the id of the hovered image or nil if no image is hovered
dt.gui.action_images : a table of images on which the user expects us to act.
	It is based on both the hovered image and the selection and is
	consistent with the way darktable works