costmap_2d: fixed footprint bug and cleaned up plugin_ros API.
Initial footprint bug caused by initialize() set footprint_updated_ = false and was called *after* setFootprint().
There is still a bug in here where the local costmap does not get the footprint but onFootprintChanged() is called anyway, giving an empty footprint.
costmap_2d: fixed footprint bug in plugins.