Parsing an empty config string returns []
Makefile clean target rm's all *.pyc *.swp files
Makefile test-all target checks if target is loaded
Minor text spacing fixes in target.py
node.py: more verbose node creation exception
Remove all kernel module handling

This is the reponsibility of the targetcli initscript or any other target
system configuration application in use
Add list_specfiles() and parse_specfile()

* Moved target.FabricModule._parse_spec() to parse_specfile()
* Export both functions from toplevel rtslib
* Use to replace code in FabricModule.all()
* Intented to be used by targetcli initscript, now that
  FabricModule.all() and RTSRoot.fabric_modules() both depend on the kernel
  modules to be already loaded, see 4f735bb86e8cef3de111d4ddff98695aeb35536e
Only expose loaded FabricModule objects

RTSLib used to expose all fabric modules with a specfile on the system, and use
separate methods for sorting those actually loaded. Now that the kernel module
loading has been delegated fully to the targetcli initscript or the sysadmin,
only expose loaded fabric modules.

* FabricModule.all() only yields loaded modules
* Removed RTSRoot.loaded_fabric_modules property and getter
* Use RTSRoot.fabric_module instead of loaded_* variant everywhere
RTSRoot: Do not call _create_in_cfs_ine() in init

Creating the configfs top-level target node is already handled by the kernel
module. Furthermore, this caused confusing exception messages when attempting
to instanciate an RTSRoot without the target core module loaded.
Makefile: VERSION uses "~" for "-" in git tags

* This makes for better version comparison in distributions.
  In Debian, 3.0~rc1 < 3.0 < 3.0-rc1.
* Added version target to display computed version string
* Use the same variable for rpm and deb changelogs