Handle 'dot' in ACL from ls when SELinux is enabled

'ls' uses the last character to indicate if an alternate access
method applies to a file in the permission string.

'.' indicates SELinux is used as an access method.  TestFileHelper
did not account for this case.

'+' indicates any other alternate access method is used. This was
already checked.
GRADLE-2938: If a dependency or dependency management element does not declare an implicit type attribute, assign the default value "jar". This will ensure that version matching works properly if one of these elements set the type "jar" and the other one doesn't.
Only override set methods for 1-arg methods.

AsmBackedClassGenerator currently "overrides" the set method for any method
with the same name as the property, regardless of how many arguments it has.
The set method is intended to be an alias for the setter without starting with
"set" (e.g. instead of setProp(String), it would be prop(String)).

By accepting any method with the property's name, it is generating more set
methods than intended. If there is a prop(String, String) and a prop(String,
String, String) it will generate two prop(String) methods, resulting in a
ClassFormatError (as noted in GRADLE-2695).

This commit changes the overrideSetMethod() method to only perform the
override if the passed metaMethod is a one arg method.
Asm class generator should add set methods if there are only multi-arg.

Previous commit changed AsmBackedClassGenerator to only accept 1-arg methods
to be overridden. While this fixed the ClassFormatError, it also prevented
the generator from adding new 1-arg set methods, if there are only multi-arg
ones.

This commit updates the logic in AbstractClassGenerator to only attempt to
override if it is a 1-arg method. If not methods were overridden it will
add a new 1-arg method.
Fixed the class name for the tooling model mentioned in the release notes.
allow adding/removing task with similar name multiple times.
Implemented shouldRunAfter ordering
Added docs for shouldRunAfter ordering
Make taking execution plan snapshots cheaper  when determining task execution order.
idea: uncheck the checkbox "Use external build" in the compiler settings
REVIEW-3457: allow exception to be serialized by just using taskpath as property
support methods with no argument in CommandLineOptionReader
More cleanup on Help for Tasks based on reviews

- REVIEW-3460 add support for enums
- REVIEW-3459 move knowledge from CommandLineTaskConfigurer to CommandLineOptionDescriptor
			  - knowledge bout option parameters
			  - how to apply option on tasks
- REVIEW-3459 - dont support '--flag true' just use '--flag' instead
idea: exclude file that causes compilation error from Groovy stub compilation
idea: add a note in the README about first build failure
Merge pull request #212 from jnizet/gradleInIDEA

Gradle in IDEA: fix the project generation
REVIEW-3460 retrieve possible commandline option values from commandLineoptionDescriptor

- REVIEW-3459 use LinePrefixingStyledTextOutput where helpful
Make serialization of errors thrown by tests robust to failures in readObject/writeObject
Use the plugin class loader as the parent for classloaders created for applied plugins (using the new mechanism)
error message for wrong enum value differs on different jvms. fix assertion in testcase and fix windows ci build