2014/1/23 Cecil Westerhof <cldwesterhof@gmail.com>
(defun dcbl-move-item-to-begin-of-list (&optional item)
  (interactive)
  (save-excursion
    (when item
      (goto-char item))
    (org-list-send-item (line-beginning-position) 'begin (org-list-struct)))
  (previous-line))

(defun dcbl-move-item-to-end-of-list (&optional item)
  (interactive)
  (save-excursion
    (when item
      (goto-char item))
    (org-list-send-item (line-beginning-position) 'end (org-list-struct))))

There was not enough error checking. Better is:
(defun dcbl-move-item-to-begin-of-list (&optional item)
  (interactive)
  (let ((list nil))
    (save-excursion
      (when item
        (goto-char item))
      (setq list (org-list-struct))
      (if (not list)
          (message "Not in a list")
        (org-list-send-item (line-beginning-position) 'begin list)))
    (when list
      (previous-line))))

(defun dcbl-move-item-to-end-of-list (&optional item)
  (interactive)
  (let ((list nil))
    (save-excursion
      (when item
        (goto-char item))
      (setq list (org-list-struct))
      (if (not list)
          (message "Not in a list")
        (org-list-send-item (line-beginning-position) 'end list)))))

--
Cecil Westerhof