WICKET-5416 BOM in UTF markup file breaks encoding detection

Copy BOMInputStream, ByteOrderMark and ProxyInputStream from commons-io 2.4 (http://svn.apache.org/viewvc/commons/proper/io/trunk/src/main/java/org/apache/commons/io/input/)