Conor/list iteraction improvements

- Modify some vector processing functions a little.
- Add a logging library.

@johnglover