[EAGLE-928] Refine system metric schema design and fix system metric collector

https://issues.apache.org/jira/browse/EAGLE-928

* Support new stream `SYSTEM_METRIC_STREAM`:

        <stream>
                <streamId>SYSTEM_METRIC_STREAM</streamId>
                <description>System Metrics Stream including CPU, Network, Disk, etc.</description>
                <columns>
                    <column>
                        <name>host</name>
                        <type>string</type>
                    </column>
                    <column>
                        <name>timestamp</name>
                        <type>long</type>
                    </column>
                    <column>
                        <name>metric</name>
                        <type>string</type>
                    </column>
                    <column>
                        <name>group</name>
                        <type>string</type>
                    </column>
                    <column>
                        <name>site</name>
                        <type>string</type>
                    </column>
                    <column>
                        <name>device</name>
                        <type>string</type>
                    </column>
                    <column>
                        <name>value</name>
                        <type>double</type>
                        <defaultValue>0.0</defaultValue>
                    </column>
                </columns>
            </stream>

* Sample Metric Event

        {
            'timestamp': 1487918913569,
            'metric': 'system.nic.transmitdrop',
            'site': 'sandbox',
            'value': 7724.0,
            'host': 'sandbox.hortonworks.com',
            'device': 'eth0'
        }

* Add `system_metric_collector.py`
* Support to persist system metric collector for query
* Refactor MetricSchemaEntity and MetricDescriptor

Author: Hao Chen <hao@apache.org>

Closes #842 from haoch/FixSystemMetricCollector.
16 files changed