Refactored and cleaned build script
- Made all files to be generated on the fly. Previously php_phalcon.h, config.m4 and config.w32 in every build directory had to be synchronized and edited manually according to changes in Phalcon source directory
- Moved the script to "build" directory, so that it is easily located by anyone, willing to compile extension. Previously, it was located in separate "scripts" directory, so the connection of it with the generated files was very unclear.
- Made it possible to run 'gen-build.php' from any directory. Previously it was required to run the script only from Phalcon root directory.
- Cleaned the script and broke it down into a handful of PSR-compatible classes with clearly defined responsibilities. Previously all the logic was located in one big file and was harder to understand and debug.
- Moved script configuration from source file to separate files in "_resource/config". Previously configuration was mixed with the script logic.
- Made source files to be included in a sorted order, so that generated files content doesn't depend on order of walking through source directory filesystem. This is very convenient for changes tracking and comparing generated files.
- Optimized generation time by changing a number of regexps to plain string searches and replacements
- Optimized generation time by making 32-bit and 64-bit build files to be generated based on 'safe' build files. Previously, each directory was regenerated separately, making same operations on same files.
- Optimized generation time by making lines of 32-bit and 64-bit phalcon.c file to be generated based on one regexp match per source line. Previously, each 32-bit and 64-bit were doing same regexps on same lines of source code.
- Updated documentation to describe the build process
- Removed not used "win32" directory. Previously it was just misleading developers, who were working under Windows, because the directory seemed like a proper way to build extension, while it was not.
Added hash precalculation for phalcon method calls in build files (was removed long ago by mistake - see revision beba42bb3584d54f05dc561892c6c7293db03596)
Regenerated build files by the new script
Update the attributes width and height for crop
Updated ImageTest
Merge pull request #1218 from zerkella/1.3.0

Refactored, improved and optimized build script
Merge pull request #1220 from sjinks/memory

PHALCON_INIT_NVAR(_PNULL) optimization
Merge pull request #1221 from dreamsxin/bug_1214_new

Fix BUG #1214
Fixed bug with Windows slash in build script
Also replaced "include" with "require", because the existence of scripts was indeed required
There is no round() in Windows
Merge pull request #1223 from zerkella/1.3.0

Fix of the two Windows slashes
Merge pull request #1224 from sjinks/round

[BUG] There is no round() function on Windows
Fix zend_get_constant() usage
Fix zend_get_constant() usage
Fix zend_get_constant() usage
Merge branch 'zend_get_constant' of https://github.com/sjinks/cphalcon into sjinks-zend_get_constant

Conflicts:
	build/32bits/config.m4
	build/32bits/phalcon.c
	build/64bits/config.m4
	build/64bits/phalcon.c
	build/safe/config.m4
	build/safe/phalcon.c