add update-submodules.sh script

This script automates the process of updating every submodule, and it includes
a nice commit message like:

    update indigo

    * submodules/indigo 1a2b943...216a076 (2):
      > Merge into master from pull request #158: OFConnectionManager: add notifications for barriers (https://github.com/floodlight/indigo/pull/158)
      > Merge into master from pull request #157: Add generation ID to the connection ID, and pause reading messages during long-running tasks (https://github.com/floodlight/indigo/pull/157)
tools/update-submodules: add option to not run git pull

This option is useful for more complicated usecases when you're not pulling
from origin/master. The user can do the pull himself and still get the nice
commit message generated by the script.

Also added support for specifying the submodule paths on the command line,
useful to selectively update a subset of submodules.
tools/update-submodules: add -b option to change the remote branch
Introduce a logging function into aim_log_t,
so that aim_log_t does not rely on aim_pvs_t internally,

Rework aim_pvs_* to provide logging functions for use with aim_log_t,
if so desired.
Consolidate pvs log functions.
Specify description when setting log function.
Remove logf field from aim_pvs_t.
Return NULL from aim_log_pvs_get if the pvs is not aim_pvs_logf.
Merge into master from pull request #30:
AIM logging function (https://github.com/floodlight/infra/pull/30)
Merge into master from pull request #28:
add update-submodules.sh script (https://github.com/floodlight/infra/pull/28)
Fix obj ratelimit
Merge into master from pull request #31:
Fix obj ratelimit macro (https://github.com/floodlight/infra/pull/31)