Added functionality to setl instance schedule

Adds the appropriate actions to set the schedule for all instances of
an app.

Sample URLs:

http://monitor.host:port/cgi-bin/WebObjects/JavaMonitor.woa/admin/schedu
leType?type=app&name=AjaxExample&scheduleType=DAILY
http://monitor.host:port/cgi-bin/WebObjects/JavaMonitor.woa/admin/schedu
leType?type=app&name=AjaxExample&scheduleType=HOURLY
http://monitor.host:port/cgi-bin/WebObjects/JavaMonitor.woa/admin/schedu
leType?type=app&name=AjaxExample&scheduleType=WEEKLY

http://monitor.host:port/cgi-bin/WebObjects/JavaMonitor.woa/admin/dailyS
chedultRange?type=app&name=AjaxExample&hourBegin=1&hourEnd=9
http://monitor.host:port/cgi-bin/WebObjects/JavaMonitor.woa/admin/hourly
ScheduleRange?type=app&name=AjaxExample&hourBegin=1&hourEnd=9&interval=6
http://monitor.host:port/cgi-bin/WebObjects/JavaMonitor.woa/admin/weekly
ScheduleRange?type=app&name=AjaxExample&hourBegin=1&hourEnd=9&weekDay=1
I cleaned.
The schedule type is a string so it should be quoted.
Added logic to fault any qualifier EOs into the same EC as the cached objects will be fetched into to ensure that the qualifier actually works as expected since the cache is doing in-memory filtering instead of database filtering.
Fixes incorrect JOIN clause assembly when there are more than 10 table references.

Since this logic was ported from PostgreSQL PlugIn, then that plugin probably also has
the same bug if a qualifier involving many long enough keypaths is used.
The root cause was that the original JoinClause definitions were sorted by the
left table alias when they should have been sorted by the numeric table ID component
of the left table alias.

Updated javadocs. Converted JoinClauseDefinition class to a simple immutable class
with changes to support correct join clause assembly.
Adds fetchRange option to ERXFetchSpecification and fetchRange support to _MySQL.Plugin.MySQLExpression.

ERXFetchSpecificationBatchIterator in its current incarnation works fine for batching where a reference to the
batch iterator is maintained. However in direct actions, as used inside current ERXRestFetchSpecification.results(...)
method, a new ERXFetchSpecificationBatchIterator is created on each request resulting in the entire population
of primary keys being fetched and then the batch of EOEnterpriseObjects for the primary key range is fetched.

Having a fetchRange option in ERXFetchSpecification, with support in SQL PlugIns, enables the same range of objects
to be returned in one fetch in a stateless request. This is useful for stateless requests that request a range of
a huge population of objects. This feature may also not have the ERXFetchSpecificationBatchIterator
limitation of not supporting multi-column primary keys. Another advantage is that it has no limit to the total count of
the population of objects form which the range if fetched whereas ERXFetchSpecificationBatchIterator does have a practical
limit associated with ther total number of primary keys that can or should be fetched.

A disadvantage of direct SQL batch fetch is that for some complex qualifiers that return duplicate rows, the DISTINCT property
must be set to true to get accurate results. Having DISTINCT and ORDER BY in the same SQL statement apparently causes
problems in some database platforms such as Oracle that is taken into account by ERXFetchSpecificationBatchIterator
(see ERXSQLHelper.newSQLHelper(entity).shouldPerformDistinctInMemory(pkFetchSpec)) reference in primaryKeys() method
of ERXFetchSpecificationBatchIterator.
Add BCrypt for password hashing
Correct javadoc version string for BCrypt
Remove unnecessary casts from BCrypt
Add unique constraint handling to ERXSQLHelper for postgresql.
update H2 to v1.3.167
update slf4j to v1.6.5
ERXLogger.factory shouldn't be left uninitialized because of possible NPE
Merge pull request #211 from amagavi/ERXEOCache_Improvement

ERXEnterpriseObjectCache Improvement when Qualifying
update selenium core to v1.0.1
ERCFFileUpload will now create a ERAttachment object, just like ERAttachmentUpload.

Be aware that the bindings changed, the webPath binding is gone.
Merge branch 'integration' of github.com:projectwonder/wonder into integration
Make timeout 20ms for locking test case
Remove ec from NSNotificationCenter observers on writeObject method.
Merge pull request #214 from darkv/ERSelenium_patch

ERSelenium update