Improved the resetting of the driver

The history is now reset as well (this was already the case in
MinkBrowserKitDriver 1.1 but was changed after that because of a wrong
test code in the Mink driver test)
Added a missing resetting of the form instances
Changed the behavior when there is no request

Instead of returning null for getCurrentUrl, which might break the code
for getCookie and does not respect the expected return type, the method
will throw a DriverException, as this is an invalid usage of the driver
anyway.
Improved the exception message when getting a crawler before visiting
Removed code duplication
Fixed the constructor typehint for the client

Passing null for the client is invalid. It would trigger fatal errors when
using the driver.
Merge pull request #65 from stof/fix_typehint

Fixed the constructor typehint for the client
Merge pull request #64 from stof/remove_duplication

Removed code duplication
Added the support of manipulating forms without submit buttons
Removed unused argument from getCrawlerNode

The code is always getting the first node now.
Marked HHVM as officially supported

the DomCrawler component works properly in HHVM 3.0 which has implemented the XML support
Merge pull request #67 from stof/remove_unused_arg

Removed unused argument from getCrawlerNode
Merge pull request #66 from stof/form_without_button

Added the support of manipulating forms without submit buttons
Merge pull request #63 from stof/improve_reset

Improve driver reset
Added extra unit tests in the driver
Merge pull request #68 from stof/extra_tests

Added extra unit tests in the driver
Updated the driver for the Mink 2.0 API
Removed the BC layers for Symfony 2.2 and older