add one-to-one handling to VersionableBehavior
Merge pull request #647 from havvg/feature/versionable-one-to-one

add one-to-one handling to VersionableBehavior
fix some introspections, coding style
Merge pull request #652 from havvg/master

fix some introspections
full list of changes below:

- fixed ModelCriteria::clear()
- added ModelCriteria::clear() tests
- refactored query object create()
- added, removed or updated bunch of phpDocs
add lcfirst function stub
fix timing issues in TimestampableBehaviorTest
Merge pull request #655 from havvg/feature/lcfirst-stub

add lcfirst function stub
Merge pull request #654 from havvg/hotfix/TimestampableBehaviorTest

fix timing issues in TimestampableBehaviorTest
reduced ModelCriteria::clear() tests
make ModelCriteria::create() changes more backward compatible
fix generated CS of SoftDelete in forceDelete()
Merge pull request #657 from havvg/master

fix generated CS of SoftDelete in forceDelete()
Merge pull request #653 from alanbem/hotfix/query_object_reset

Can't fully reset query objects.
fixed urls to trac tickets propel.phpdb.org/trac/ticket -> trac.propelorm.org/ticket
removed duplicated assertion, refs #653
Add to Criteria support for IN and NOT IN operators in JOIN conditions
e.g. JOIN x ON (x.id = y.x_id AND y.foo IN (42, 51))
Use Criterion always when possible
Using Criterion allows to bind values in statements.
You can't use Criterion only for strings because in this method
you can't distinguish if it is a table name or value provided by user.
Additional assertion to ensure binding params doesn't change actual result
Add test for ModelCriteria to prove it support IN operator in JOIN conditions