Base para el scrapeo de proyectos
Issue 31, scrapear proyectos de un proveedor

* probando scrapear 10 proveedores para ver si no se vuelve un loop
* apagar scaper no usados por el momento
* mejorar el paginador de datos al quitar 2 parámetros que se pueden setear en el scaper
* primer aproximación para scrapear un proyecto
* datos de paginación para scrapear proyectos de un proveedor
* quitar variables inecesarias para paginado del listado de proyectos
* scrapear listado de proyectos de un proveedor
* simplifcicar variables de debug para scraper
Merge tag 'v0.5' into develop

* cruce de datos con empleados municipales
capturando nogs
Listado de nogs por proveedor
comprovación de scrapping
Issue #31 scrapeo de datos de proyectos

* Refactorizando para integrar los cambios de @mirandapablog
* Quitar el archivo SQL para generar la estructura de la DB para usar el sistema automático de Doctrine.
* Los datos iniciales se guardan en una transacción, o todo o nada.
* Se van poblando los detalles de los partidos políticos y se agregan algunos que faltaban.
* Agregando documentación en el ScraperController.
* Primera prueba de guardar un proyecto en la base de datos.
* No asociar representantes legales incompletos o vacíos a un proveedor.
* Los modelos extienden de AbstractModel para unificar el método de Model->save($entity).
* Mover toda la documentación de la generación de la tabla del archivo SQL a las entidades.
* EmpleadoMunicipal->getPartidoPolítico
* Mover la generaciónde campos ID autoincrementativos a las entidades.
* Reordenar la vista de los empleados municipales para listar por cargo.
* Arreglar la relación entre EmpleadosMunicipales y PartidosPolíticos.
* Nueva vista detalle de un municipio, muestra los logos de los partidos del empleado municipal.
* Actualizado script de scraper.sh para utilizar la generación de la DB automatica de Doctrine.
Agregando imágenes del logo y SVGs de los logos de los partidos políticos
Issue #31 Importar Proyectos

* detectar __VIEWSTATE en la primera página del paginador
* detectar __EVENTVALIDATION en la primera página del paginador
* se detecta el número de páginas en el paginador
* el ciclo del paginador termina con el total de páginas detectadas
* mover toda la detección de número de páginas y
* hacer Proveedor->scrapList() y Proyectos->scrapList() casi idénticos
* mejorar la documentación del ScraperModel::getCacheURL()
Issue #31 scraper de proyectos, mejorar debug del scraper

* se ponen keys para cada llamada de página para identificar por donde va
* la constante del paginador se cambió, el cache no acepta puntos en el nombre
* se reordenaron los parámetros para hacer la llamada del getCacheUrl()
* se mejoró la vista de como se lee la lectura del scrapeado
* el scraper acepta parámetros
    -d para debug trace en el IDE
    -x para limpiar cache
fixed #31 scrapeo de datos de proyectos [DONE]

* El scraper de proyectos ya captura los proyectos YEEEY, ahora estamos ya haciendo las primeras pruebas.
* El scaper de proyectos es ordenado por IDs del proveedor para saber por donde va.
* El proyecto ya tiene sus propiedades correctas para guardar.
* El ProyectoModel->scrap() ya define más datos en el xpaths para capturar.
* El ProveedorModel->findAll() permite ahora pasar el parámetro de $where y $orderBy.
* Simplificar las llaves del scraper de páginas.
* Quité totalmente el md5 de los caches pues no estaba usando el cache.
* Se formatea mejor la forma de escribir que página se está leyendo
* Se pasó el volcado a base de datos cuando se tienen los datos en vez de todo hasta el final. Esto es para tener datos pronto y detectar errores antes y poder seguir desarrollando con los datos que ya se tienen. Se tenía antes hasta el final para hacerlo en una transacción y se suponía sería más rápido, pero con tanto I/O de lectura de las páginas, la escritura a DB es imperceptible.
Merge branch 'feature/gh-031' into develop
Issue #4 scraper PHP, mejoras varias

* cambiando nombres de municipis según los tiene GTC
* mostrar el contador real en el listado de proveedores
* mejorar el convertidor de texto para los nombres del proveedor
* actualizar texto en listado de proveedores
issue #4 mejorando el scrapeo de datos del proveedor

* reorganizar cómo los datos de dirección fiscal y comercial son asociados para guardar
* usar método secundario al tratar de usar un setter en el AbstracDoctrineEntity
* reordenar las propiedades de la entidad proveedor para hacerlo más legible
* agregando más campos para leer de la entidad proveedor
* mejorar la vista de detalle del municipio quitando el díalogo
Issue #4 scraper, relación entre proveedor adjudicado y proyectos es de muchos a muchos
Issue #4, scrapeo de proyectos

* arreglando la relación entre proveedor <-> proyectos
* apagar temporalmente el scrapeo de datos que no vamos a usar por el momento
Issue #4 guardar en memoria los proyectos leidos, para reasignar a un nuevo proveedor
Issue #4 scraper, manejo de errores

Problemas con proveedor SIN proyectos adjudicados. No tengo idea de donde salió este.
Issue #4 No volver a parsear proyectos ya insertados en la DB
Issue #4 scraper

* antes de leer todos los proyectos de un proveedor, quitar del listado los que ya tiene
* guardar en cache el listado de los proyectos por proveedor
* hacer el cache estático y síngleton con ScraperModel::getCache()