Merge pull request #2187 from bar/model-optimizations

Optimize conditionals and reduce lookups.
coding standards
Added a .gitattributes file to set the line ending behavior when checking out/committing
Update definition of an empty model.
Update tests for incorrect containable behaviour if a model only finds 1 field.
Use + instead of array_merge.

If you have numeric columns in your database, array_merge() will re-key
the array dropping the original values.

Fixes #2198
coding standards
Merge pull request #2204 from thatcode/master

Models fetched by Containable find depend on number of fields in intermediate Model
Throw an exception when starting a view block twice
Fix file always being set to 'schema.php'

When the name parameter is set and no custom file value is provided,
the name should be used to generate the file name. empty() cannot be
used because the file parameter has a default value of 'schema.php'.

Fixes #2202
Adds File::replaceText().

Added File::replace()

Searches for a given text and replaces the text if found

Renamed File::replace() to File::replaceText()

Updated the replaceText() method to utilize File Locking

Updated File::replaceText()

1. Method now checks if the lock is not identical to null
2. Since the method uses File::read() to get the contents of the file,
there is no need for a temporary file. Removed the temporary file
creation

File::replaceText() update

Opening file with r+ mode
Fixes last items for #1665.

- Changes double quotes to single quotes.
- Documents and tests array-based string replace.
- Rewrites test case.

Rewrites the test case because the tests didn't work as well as
they should be. The test file copied itself to the tmp directory,
did some string replace stuff on it and then loaded the data to
test its contents. However in those contents were also the
expectations, so assertContains() would always see the string in
the file... even if the replacing didn't work.

Closes #1665.
Merge pull request #1665 from rooseveltrp/2.5

Added a method File::replace() to the File Utilities.
Merge pull request #2201 from ravage84/start-viewblock-twice

Throw an exception when starting a view block twice
add mkv mime file type
Merge pull request #2213 from zoghal/2.x-fixme

add mkv mime file type
fix spell of contentType
optimise download file
fix multi connection/part downloading file
update tests