Number of lines per project

These new classes are responsible to count and store the number of lines of each of your projects.
Projects can mix several languages, these classes make a difference between C-files, PY-files..

How does it works?
+ Add a SourceCode-archive (.tar.gz) to your project
+ View will call an external process to evaluate the contribution of each language in the project
+ Results are visible on project's page (authentificated only)

Update DB SQL:

CREATE TABLE `projects_sourcecode` (
    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
    `project_id` integer NOT NULL,
    `archive` varchar(100) NOT NULL,
    `upload_time` datetime NOT NULL,
	`exclude_paths` longtext
)
;
ALTER TABLE `projects_sourcecode` ADD CONSTRAINT `project_id_refs_id_dd0aba77` FOREIGN KEY (`project_id`) REFERENCES `projects_project` (`id`);

CREATE TABLE `projects_sourcetotechnolines` (
    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
    `sourcecode_id` integer NOT NULL,
    `technology_id` integer NOT NULL,
    `num_lines` integer NOT NULL,
    UNIQUE (`sourcecode_id`, `technology_id`)
)
;
ALTER TABLE `projects_sourcetotechnolines` ADD CONSTRAINT `technology_id_refs_id_338d0f12` FOREIGN KEY (`technology_id`) REFERENCES `projects_technology` (`id`);
ALTER TABLE `projects_sourcetotechnolines` ADD CONSTRAINT `sourcecode_id_refs_id_db168e34` FOREIGN KEY (`sourcecode_id`) REFERENCES `projects_sourcecode` (`id`);

ALTER TABLE `projects_technology` ADD `file_extensions` varchar(50) AFTER `parent_technology_id`;