List API additions.

Similiar as in previous pull request #99 added missing methods to `Map`
class, this commit adds some missing methods to `List` class. These
include searching for list elements, removing them and subscript
operators `__getitem__` and `__setitem__`. Also modifies
`ListObject::Link` class so that it contains pointer to previous list
node as well as pointer to next list node.
`ListObject::Link::Erase` takes list index as it's argument.