add multiple assignment support to java.util.Collection's Fixes #459
File.size should handle IO's
OpenSSL::PKCS12#new now support parameter with DER encoded string

Resolves [JRUBY-7061] OpenSSL::PKCS12#new doesn't support parameter
with DER encoded string. Also includes support for ca_certs attribute.
X509Name needed to include module Comparable to satisfy the tests. This
also enabled one more test for X509Name itself.
fix many file resolution problems which did not expand relative to current working dir.

Also, l* functions can not check using exists() as it will be false for existing symlink pointing to nowhere.
Merge branch 'master' into JRUBY-7061

Conflicts:
	src/org/jruby/ext/openssl/X509Name.java
Flipped return value of SSLSocket#flushData to avoid hang on timeout
Added Scala singleton handling for traits, as well as classes. Fixes JIRA 6950
require_relative fails when passed an absolute path. Changes mean it should now handle both relative and absolute without errors.
tzdata 2013b was released on March 11, 2013.
Update BC gem to point at jruby repo.
Incorporate some 2.0.0 features from backports gem.

* Use backports version of Enumerator::Lazy. It was close to ours
  but had some edge cases better-handled.
* Add Range#bsearch.
New Hash#default_proc= and #to_h for 2.0 mode.
Remove MIT licenses from backports-gem contributions.

See https://twitter.com/malafortune/status/311202724517650432
Use duplicated imports list so that the default imports list does not get changed with every compiled script.
Incorporate substantive code from 2.0 stdlib.

This commit only pulls in the parts of 2.0 stdlib that differ
functionality-wise from their 1.9.3 equivalents. When running in
2.0 mode, the 2.0 dir will be searched before the 1.9 dir,
picking up the differing files. We opted to do this to reduce the
amount of duplicate content in our repository.

JRuby 9000 will likely incorporate 2.0 stdlib en masse, and may
only be 2.0 compatible.

Note that 2.0 stdlib is *not* included in jruby-complete or
jruby-jars, since it is still an unsupported mode and we don't
want to bloat up those artifacts any more than necessary.
More tweaks for 2.0 stdlib.

* Revert rbuf_fill logic in net/protocol to using nonblock. We
  fixed SSL nonblock some time ago, which was the reason for the
  modified logic.
* Move our fiddle impl to shared location, since it's custom.
* Remove fiddle from copying in 1.9.3 sync logic.
* Add 2_0_0 to sync_ruby doco.
* Copy versions of stdlib directly from jruby/ruby fork. I have
  created the jruby-ruby_2_0_0 branch to use going forward.
* Update version and revision strings for 2.0 mode.
Fix typo in protocol.rb
Rework BC gem to build properly and copy its contents (no symlink)
Add jruby-openssl and bouncy-castle-java gem bits to dist src.
Minor improvements for Hash.

* Avoid creating AtomicInteger by using updater or sync.
* Avoid re-initializing "head" node.
* Avoid updating generation unnecessarily at create time.