Refactoring Metrics module to reduce size of methods and avoid chained structures.
refactoring Metrics module: redefining mk_accessors and self calls in the new methods created
Now all metrics are a Class with a method called Calculate. Each metric class has a single responsability
Refactoring all Metric classes and its tests. Also, improving the list of metric description to avoid some duplication.
Redefining all metrics in GlobalMetric and ModuleMetric. Each metric class has a Single Responsibility.
Adding statistic methods into GlobalMetrics.
Refactoring ModuleMetrics class.
Refactoring calculate method from DepthOfInheritanceTree class.
Merge branch 'master' into cleancode

Conflicts:
	lib/Analizo/Metrics.pm
	t/04_metrics.t

TODO/FIXME:
   0aa0ad330c25176fa8f1bc935e0bbdefbe0d6e31
   55f1dc83d77d1f608859dbd5a812403d91c8d33c
   ab2b19b77d379a88ab56a88b8ff141a76b4560ed
   b9a676a754a17edb8b838a33ed96f5662cfa195c
   b545603f1dac01d5b862dac1613c252825ee0506
test for Structural Complexity metric
Removed cucumber warning about using 'Then'
Added new dependencies on HACKING
Documentation updates + usage output consolidation

some tests have to be adapted because they were expecting output in
stdout while pod2usage prints to stderr.
new TODO item :-/
one more TODO item
Rephrase confusing step definition
Updating HACKING file

I've removed libzeromq-perl
and added libterm-progressbar-perl, libfile-copy-recursive-perl,
and libjson-perl.
We should define a way to install ZeroMQ module on Debian stable.
I've installed it via cpan, but before I've needed to install:
$ apt-get install libzmq1 libzmq-dev uuid-dev
Digest::SHA1 is deprecated in favor of Digest::SHA
updating AUTHORS and MANIFEST files before release
sqlite3 is required for building/release process

The test 'Then the output must match "Input"' in
features/metrics_history_db.feature fail with the error below:

sqlite3: not found