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
General design of the caching support
checkpoint
Install non-Perl files (like templates, images, etc) under a shared directory #31

File::Share + File::ShareDir + File::ShareDir::Install provides all
needed tools to keep static and non-code files under specific shared
directories to it.

The File::Share::dist_dir() looks for a local shared directory, if it
notice that is running on a development environment. Otherwise it look
in the system.

Assuming we have a file under "share/file.txt" we can find it doing:

  package Analizo::Sample::ShareDir;
  use Analizo
  use File::Share ':all';
  my $share = dist_dir('Analizo');
  open FILE, '<', "$share/file.txt";
  ...
  return 1;

With the code above doesn't matter if we are running on development
environment or in production with code installed via package for
example.

Another small changes made in this commit:

* Distribuition name in Makefile.PL: analizo -> Analizo
* Run tests using prove when building Debian package
* Update MANIFEST file
* Skip MYMETA.yml when update MANIFEST
Make temporary directories always in the same place
Move default filter logic up
Cache implementation that actually works
Deal with renamed method in tests
Cache implementation used tempdir when running tests
Leave user cache alone in acceptance tests too
testing equality of data from the cache