Update underscore.js version to 1.4.4.
Bring brooklyn-utils.js in line with other javascript modules

define() it, rather than creating several global functions. Removed
references to it from a few modules where it went unused and moved the
setVisibility function to application-add-wizard, the only place it is
used.

Also: Remove several trailing commas from arrays and objects. Add 'var'
to variable declarations that were missing it.
Fixed the InvokeEffector so that a Task object is returned in case of an empty/null entitiesToCall instead of returning null
WIP: support MongoDB replica sets
MongoDB replication

* Moves replica set entities from sandbox to software
* Entities interact with MongoDB Java driver via MongoClientSupport
* Exposes each server's MongoClientSupport on MongoDbReplicaSet
* Manages replica set configuration with ReplicaSetConfig class
* Exposes replica set member's statuses via ReplicaSetMemberStatus
* Restricts sets to 0, 3, 5 or 7 members.

Other minor alterations:
* Removes duplication between integration tests
* Removes getDataDirectory from MongoDbDriver interface
* Includes live test. Verified test_Ubuntu_12_0 passes.
Terminate Mongo DB servers with SIGINT, not SIGKILL

SIGKILL is not a clean shutdown and can cause data corruption.
Delete unused PostStop annotation

- should have been deprecated in 0.4 but was missed unfortunately
- as with PostStart etc, had no effect so deleting now
MongoDb => MongoDB

For consistency with MongoDB branding and our other entities
Adds a demo MongoDB application to example/simple-nosql-cluster
Expose a MongoDB server's HTTP interface as an attribute on MongoDBServer
Minor layout improvement
Address MongoDB replica set review comments

* Improve logging of exceptions
* Used ConfigKey and AttributeSensor for fields rather than Basic..
* Fix a few typos
* Add documentation notes about the OS X startup issue and the importance
  of the single threaded executor in MDBRepSetImpl
* Use Runnables rather than Callables in tests.
Support @Effector annotation on entity methods

- also general cleanup and other additions:
-- adding @Override annotations
-- Add BasicParameterType.toString()
-- Add name toAbstractEffector.equals
-- adds BasicParameterType.equals/hashCode
-- adds Reflections.findPublicMethodsOrderBySuper, so can ensure take
   overriding effector definition when annotated accordingly.
Convert effector declarations to use @Effector
Adds EntityType.getEffector(name,paramTypes)
jclouds rebind: don't require hostname
Add jcloudsByon location resolver

- For parsing a list of existing VMs, so can bind to those.
- Useful if want to do subsequent jclouds-based actions like volume
  management.
Avoid NullPointerException when removing primary from a replica set

getPrimary() checks all members but the entity that /was/ the primary
has been removed from the group by the time this log statement is reached.
If the set hasn't chosen a new primary and the sensors haven't updated
this causes a NullPointerException.
Merge pull request #776 from aledsage/feature/jcloudsByon

Adds jclouds byon resolver
Merge pull request #775 from aledsage/feature/Effector-annotation

Adds @Effector annotation