refactor the naming within plugin new generator

Having a method called `full?`, which checks on :full and :mountable
is very confusing. I renamed `full?` to `engine?` and created a `full?`
method that only checks the `:full` option
remove another unnecessary dup
do not append a second slash when using
Merge pull request #8702 from rubys/master

Fix a number of validation/style errors
Fixing closing </p>
Merge pull request #8701 from senny/8700_double_slash_with_trailing_slash

do not append a second slash when using `trailing_slash: true`
CVE-2012-5664 options hashes should only be extracted if there are extra parameters

Conflicts:
	activerecord/lib/active_record/dynamic_matchers.rb
Merge pull request #8697 from goshakkk/undup

Remove another unnecessary dup
missing changelog entry for #8682
Changelog improvements [ci skip]
Restore original remote_ip algorithm.

Proxy servers add X-Forwarded-For headers, resulting in a list of IPs. We
remove trusted IP values, and then take the last given value, assuming that
it is the most likely to be the correct, unfaked value. See [1] for a very
thorough discussion of why that is the best option we have at the moment.

[1]: http://blog.gingerlime.com/2012/rails-ip-spoofing-vulnerabilities-and-protection/

Fixes #7979
Merge pull request #7980 from steveklabnik/issue_7979

Restore original remote_ip algorithm.
Explain the possible precautions
Merge pull request #8706 from steveklabnik/ip_precautions

Explain the possible IP precautions
Pass in `--local` when doing `gem install` for local gems.
refactor Routing::Mapper
test PATCH method for update action in generated scaffold controller test rather than PUT
Merge pull request #8714 from utkarshkukreti/faster-gem-install

Pass in `--local` when doing `gem install` for local gems. [ci skip]
Merge pull request #8715 from goshakkk/refactor-mapper

Refactor Routing::Mapper#matches?
Merge pull request #8717 from amatsuda/scaffold_controller_test_patch

test PATCH method for update action in generated scaffold controller test rather than PUT