Support for external ids on items

Minor modifications for supporting external ids when adding and updating items. A single method for getting items by external id has also been added.