fix location sanitizing with parser 'future'

With parser 'future', a '\\' counts as one backslash whereas with
parser 'current' it's two. Therefore with 'future' only one gets passed
to regsubst which in turn aborts with

 Error: regsubst(): Bad regular expression `\'

The 'future' behaviour is indeed the correct one but 'current' won't be
fixed either. Therefore, use "\\\\" which produces two backslashes with
both parser (ref: https://tickets.puppetlabs.com/browse/PUP-1814).
Add client_max_body_size to ssl vhost
Merge pull request #301 from yath/parser-future-backslash

fix location sanitizing with parser 'future'
Merge pull request #320 from timmow/client-max-body-size-ssl-vhost

Add client_max_body_size to ssl vhost
configuration revamp

- make many more things configurable
- stop using ::params::* for things that are configurable
- add worker_rlimit_nofile option
- add tcp_nopush option
Remove duplicate line.
Cleaning up missing /etc/nginx -> $nginx::conf_dir substitutions.
Replaced params references with config.
Only add user directive if configured.
Add config option to determine if nginx is launched as root or not.
Some config white space cleanup.
Remove duplicate nofile line.
Due to recent concat module behavior nothing except strings are valid for the order parameter. This might change with this pull request https://github.com/puppetlabs/puppetlabs-concat/pull/185. Until then puppet-lint will complain.
Fixed an issue with proxy_read_timeout. This was done by properly adding 4 more config options to init and config.
client_body_buffer_size
proxy_connect_timeout
proxy_read_timeout
proxy_send_timeout