File based publisher

Ceilometer logs metering data into a database by default. In some cases
it is ideal to have the metering data go into a file which can be
examined easily. This patch adds the file based publisher. One can
make changes to pipeline.yaml file to add the file publisher to
an existing pipeline or a new pipeline so that metering data can not
only be saved in database but also can be saved in a file.

The following example shows how it can be configured in pipeline.

    -
        name: meter_file
        interval: 600
        counters:
            - "*"
        transformers:
        publishers:
            - file:///tmp/meters?max_bytes=10000000&backup_count=5

With the above configuration, a set of files named meters can be
found in the /tmp directory. The file names should be meters, meters.1,
meters.2 etc. These files will contain the metering data. Since the
implementation uses rotating log file when max_bytes and backup_count
are specified, one can increase the backup_count and max_bytes to keep
the file for a longer period or use the path to point the file to a
desired location. If no file path specified, the publisher will log an
error and not record any metering data.

Change-Id: If85ad95f837b2d178527eb7de16707f8af2c4ce2
Merge "File based publisher"