OF-Config: return 'other', not 'invalid', unknown port rates

This closes FlowForwarding/LINC-Switch#227.
Handle empty feature list in linc_ofconfig:rate/1

This closes FlowForwarding/LINC-Switch#226.
Merge pull request #229 from legoscia/of-config-port-rate

OF-Config: return 'other', not 'invalid', unknown port rates
Fix a link to the Mininet repository in the instruction

The link in a instruction was pointing to the incorrect repository.
Rename sys.config to sys.config.orig

The purpose of this change is twofold.  Firstly, this makes sure that
the user chooses an appropriate configuration.  Secondly, this separates
the configuration file currently used from the one in version control,
removing the risk that temporary local changes get committed
unintentionally.

This closes FlowForwarding/LINC-Switch#242.
Add tests for start-up config returned when of_config is disabled

Stub function linc_ofconfig:read_startup_without_of_config/0 has been
added that should return start-up configuration for the LINC-Switch
when the of_confnig is enabled.
(Motivated by #139).
Add simple solution for start-up config when of_config is disabled

The linc_ofconfig:read_startup_without_of_config/0 builds the start-up
config for the LINC-Switch the same way when of_config is enabled and
there hadn't been any previous configuration saved.
(Motivated by #139).
Add default port rate in start-up that is needed for configuring queues

If there's no explicit port rate in the sys.config some default value
should be used in the start-up config for the LINC-Switch. Otherwise
module handling port queues will crash.
(Motivated by #139).
Improve generating start-up config for LINC with ofconfig disabled

Now start-up config is generated separately, without using structures
and functions for generating config with ofconfig enabled.
(Motivated by #139).
Refactor linc_ofconfig module

Helper functions were mixed with API. Now it's laid out better.
(Motivated by #139).
Mock inet:getifaddrs/0 in linc_ofconfig_tests

The application cannot start without at least one network interface with
a non-zero MAC address.
Merge pull request #244 from FlowForwarding/of_config-disabled-crash

Of config disabled crash
Fix equal_controller scenario

The scenario contained overlapping entries.
(Motivated by #97).
Merge pull request #245 from FlowForwarding/equal_and_slave_controller_scenario_fix

Fix equal_controller scenario
Merge pull request #243 from legoscia/no-default-sys-config

Rename sys.config to sys.config.orig
Update build_linc_switch.md

Updated instructions
Add script creating a copy of the base release

Scrip rel_copy.sh can either create the copy of the base release called
linc or delete such a copy. It takes two arguments: a switch indicating
creation/deletion and the release suffix. The script does not copy
lib/ directory, ERTS and Mnesia files. There are links created to the
lib/directory and the ERTS from the base release. This script also
changes sname parameter for the node. For example the following script
invocation will create a release rel/linc_s1 with sname parameter set to
linc_s1:
./rel_copy.sh -c s1
(Motivated by #240).
Add generating controllers' listener port to config_gen; fix typos

Now config_gen script can also generate controllers' listener
configuration. Some typos were fixed by the way.
(Motivated by #240).
Add controller's scenario for sample Mininet topology

This scenario setup two switches for the topology defined in
MININET_ROOT/custom/topo-2sw-host.py.
(Motivated by FlowForwarding/LINC-Switch#240).
Update LINC/Mininet tutorial after adding support for multiple instances

Now LINC can be run in Mininet topologies with more than one switch.
(Motivated by #240).