Move base Fix and Costmap Fix

Move base fix (updates should be to move_base, nav_core, base_local_planner)

Fix for the issue where the robot sometimes turns in place at the goal and stops and turns the other way. 

Caused by two issues 
- the planner thread running even once the robot is turning in place (which sometimes results in a no plan error - or a new plan being issued)
- The computeVelocity in the trajectory planner having a different logic to stop rotating in place compared to the isGoalReached function

Navigation Costmap fix

Updates should be in costmap2d 
Added new functionality to clear obstacles placed by the voxel_layer that goes out of the robot's sensor range after a time_out

This is done by keeping track of time that a map index was updated last - as well as the indices that were updated at each timestep. We remove old obstacles from the map - if the observations are too old and the locations have not been updated after that. Enable this by adding

clear_old: true
max_obstacle_persistance: 2.0 (time in seconds before obstacle points are purged)

Only works for non-rolling maps (such as the one used by the global planner).

Also includes some small improvements to the updateOrigin functions that check if the new origin is the same origin and updates only if needed.