Bug fix: end() iterator should be one past the last element
Add iterators to Field2D
Rename previous() -> prev() in-line with STL