Cache result of find_packages_allowing_duplicates to speed up find_packages

On my environment, roslaunch is super slow. (hydro, ubuntu 12.04, catkin 0.2.6)
Because I have a lot of packages under catkin workspace:
```
$ rospack list | wc -l
485
$ source /opt/ros/hydro/setup.zsh; rospack list| wc -l
256
```

For example, `roslaunch openni2_launch openni2.launch` takes 43 seconds.
After applying this patch, it takes 9 seconds.