[inline/dlist] merge getters and setters

gds_inline_dlist_node_set_prev and gds_inline_dlist_node_get_prev are
merged into gds_inline_dlist_node_prev
This function takes 2 arguments, if the second one is UNDEFINED,
function acts as a getter, otherwise it's a setter

gds_inline_dlist_node_set_next and gds_inline_dlist_node_get_next are
merged into gds_inline_dlist_node_next
This function takes 2 arguments, if the second one is UNDEFINED,
function acts as a getter, otherwise it's a setter
[inline/dlist] Optimize gds_inline_dlist_splice()
[inline/dlist] API add: gds_inline_dlist_remove
[inline/dlist] Fix gds_inline_dlist_splice behaviour when doing nothing

If gds_inline_dlist_splice doesn't remove any node and doesn't add any
node, newhead and newtail get both affected with NULL.
This patch fixes that.
[inline/dlist] API add: gds_inline_dlist_insert
[inline/dlist] Remove useless GDS_CHECK_ARG_NOT_NULL
[inline/dlist] Move internal functions to the top of the file
[inline/dlist] Initialize variables in gds_inline_dlist_remove
[inline/dlist] Make internal functions static
[inline/dlist] Move newhead/newtail detection

so it doesn't have to be duplicated in gds_inline_dlist_remove and
gds_inline_dlist_splice
[inline/dlist] Reorder functions in src/inline/dlist.c
[inline/dlist] Format comments
[dlist] Update implementation using new API from inline/dlist