Rename field::getFieldStart and getFieldEnd to begin/end

To allow range based iteration from C++11.
Remove the dirty member of field as it is not used.

Format field::field and field::~field
Apply astyle to some functions in field.cpp

- field::findField
- field::findFieldc
- field::replaceField
- field::move_cost
Replace field iterations with range based loops

Using auto as type of the iteration variable,
Skipping the fieldCount() check, it's pointless.
Moving the cur variable inside the loop, why was it outside? This is not C, THIS IS C++!
Remove raw pointer from field map.

The entries in the map are already allocated on the heap, their address is unchanged by modifications of the map etc. no need for pointers here.

This also fixes a memory leak. The pointers were not freed when the submap was deleted.

Again moving declaration of field_entry* cur inside the loop.
Replace usage of map::field_at with direct map function

Instead of getting the field, than adjusting/querying that field manually, let the map doe all that.
Make spread_gas helper function a map member function
Make create_hot_air a map member function
Make map::field_at return a const reference.

Code outside the map is not supposed to change the fields directly, instead one should use the field related functions of the map class.

Add a non-const get_field function for non-const access the fields.
That function is protected, so it's only usable from inside the class.

Added wrapper for for const access to the field class: iterator begin/end and findField.
Documentation for field related functions.

Remove declaration of field_entry::getFieldMoveCost - it's not implemented, but field_entry::move_cost is implemented.

Simplified map::add_field by using the result of field::add_field to determine whether the field has been added or already existed.