Imported rtslib.config from lio-config branch

* Added policy files
* Added test files
* Added rtslib/config* files
* Merged Makefile
* Updated __init__.py
* Updated packaging to install specs and policy files
* Packaged spec help files as documentation
Split tests in safe and system suites

* Split into safe and system tests, the latter impacting the running system
  target configuratioon and requiring sudo permissions.
* Edited Makefile to replace run-tests target with test and test-all.
Updated policy files

* Renamed to match fabric_*.lio and backstore_*.lio scheme
* Added nullio attribute to rd_mcp policy
* Removed deprecated rd_dr
Added value to attribute set exception message
Added missing configfs support - testing with 3.13

* Breaks compatibility with older kernels (probably <3.10)
* System tests attempt restoring inital system config
* Now using test portal IP 0.0.0.0
* Updated policy files
* Updated a few tests accordingly, along with test data
* Added nullio support
* Added tpgt auth attribute group
* Added emulate_3pc, emulate_caw, emulate_model_alias, fabric_max_sectors
* Removed max_sectors from fileio and rd_mcp attributes
* Updated default values for fileio attributes max_unmap_block_desc_count,
  max_unmap_lba_count, max_write_same_len, optimal_sectors, queue_depth,
  unmap_granularity, unmap_granularity_alignment
* Added default_erl and demo_mode_discovery to tpg attributes
* Fixed a couple of exception messages
Added debinstall Makefile target
Added FIXME comment
Fixed disk backstore index computation

* Was assuming at least one backstore pre-exists
Added brute_force arg to Config.apply()

* This uses a much simpler commit plan:
  delete everything in configfs and then create every config object
  Relies on natural ordering of the configuration tree, as this should
  always list storage backstores before targets
* Using this as the default for now until the optimized commit plan is tested
  more reliably.
Minor text fixes: extra blank line and arg type
Fix nullio arg in RDMCPBackstore.storage_object()
Fixed apply_group_attrs() attributes type
Fixed clear config message yielded by Config.apply()
Added generic config samples system test

* Uses all present tests/data/config_sample_*.lio
* Compares the sample, the configuration dump after loading it, and after
  commiting, with the then dumped config
Live apply_create_obj() creates hidden TPGT

* When creating a target whose fabric does not have the tpgts feature,
  we need to create a hidden TPGT 1 in order to attach child nodes
Added policy file for vhost fabric module
Better config_live support for enable attribute

* Now supports targets without the enable attribute
* Added TPG.has_enable() method
* Do not assume anymore that the hidden TPG of a fabric without the tpgts
  feature has no enable attribute.
* Conversely, do not assume anymore that having the tpgts feature means that
  the TPGs have the enable attribute (i.e. vhost fabric module)
Added tests/data/config_sample_4.lio using vhost
Added placeholder policy files for HW targets

* fabric_ib_srpt.lio, fabric_qla2xxx.lio, fabric_tcm_fc.lio
* Still need to add wwn types srpt_wwn, qla2xxx_wwn, fc_wwn
* Not tested for now, will do soon with access to hardware
make clean removes editor leftovers: #*#