rosconsole format for rospy

quick & dirty solution for issue:
https://github.com/ros/ros_comm/issues/517

Since in python it uses [logging module](https://docs.python.org/2/library/logging.html) and in C++ it uses [log4cxx](http://logging.apache.org/log4cxx/index.html), I could not find 1 to 1 translation for some outputs. For example, `${thread}` and `${logger}` does not match well with that of C++.

Also I was not sure if this file was a good place to write this functionality. @dirk-thomas recommended to check out [this file](https://github.com/ros/ros_comm/blob/fab4840ef79f5334bcd043e057a1909183842159/clients/rospy/src/rospy/core.py#L119) but this file was easier to make change. Let me know if you have suggestions,
I agree with you on the time at the end of the string. I kept that to be consistent with [the original `msg` string generated by `emit` function](https://github.com/ros/ros_comm/blob/indigo-devel/tools/rosgraph/src/rosgraph/roslogging.py#L153-L158).

Do we need to see both [time.time()](https://github.com/ros/ros_comm/blob/indigo-devel/tools/rosgraph/src/rosgraph/roslogging.py#L153-L158) and [self._get_time()](https://github.com/ros/ros_comm/blob/indigo-devel/tools/rosgraph/src/rosgraph/roslogging.py#L157) If not, how about this emit function?

```
    def emit(self, record):
        level, color = _logging_to_rospy_names[record.levelname]
        if self._get_time is not None and not self._is_wallclock():
            walltime = '[%f]' % self._get_time()
        else:
            walltime = '[%f]' % time.time()
        if 'ROSCONSOLE_FORMAT' in os.environ.keys():
            msg = os.environ['ROSCONSOLE_FORMAT']
            msg = msg.replace('${severity}', level)
            msg = msg.replace('${message}', str(record.getMessage()))
            msg = msg.replace('${time}', walltime)
            msg = msg.replace('${thread}', str(record.thread))
            msg = msg.replace('${logger}', str(record.name))
            msg = msg.replace('${file}', str(record.pathname))
            msg = msg.replace('${line}', str(record.lineno))
            msg = msg.replace('${function}', str(record.funcName))
            try:
                from rospy import get_name
                node_name = get_name()
            except ImportError:
                node_name = '<unknown_node_name>'
            msg = msg.replace('${node}', node_name)
            msg += '\n'
        else:
            msg = '[%s] [WallTime: %f]' % (level, walltime)
            msg += ' %s\n' % record.getMessage()
        if record.levelno < logging.WARNING:
            self._write(sys.stdout, msg, color)
        else:
            self._write(sys.stderr, msg, color)
```

Basically, it tries to use the timestamp from `self._get_time()` first, and if it is not available it resorts to `time.time()`.