Send email

This PR let sending email

New settings replacing resetpassword
```
omero.mail.config=false
omero.mail.from=ADDRESS@domain
omero.mail.host=smtp.domain
omero.mail.port=25
omero.mail.username=
omero.mail.password=
omero.mail.transport.protocol=smtp
omero.mail.smtp.auth=false
omero.mail.smtp.debug=false
omero.mail.smtp.connectiontimeout=60000
omero.mail.smtp.timeout=60000
omero.mail.smtp.starttls.enable=false
omero.mail.smtp.socketFactory.class=javax.net.SocketFactory
omero.mail.smtp.socketFactory.fallback=false
omero.mail.smtp.socketFactory.port=25
omero.mail.smtp.timeout=25000
```

Testing:
**1. SendEmail** request should be handled by:

```
omero.cmd.SendEmailRequest(subject="test subject", body='test message', html=True/False, groupIds=[0,1,...], userIds=[0,1,...], cc=[email1, email2,...], activeonly=True/False)
```

Use cases:
 - ```omero.cmd.SendEmailRequest(subject="test subject", body='test message')
``` - sends message to everyone who has email set (no real email validation) and is active user
 - ```omero.cmd.SendEmailRequest(subject="test subject", body='test message', inactive=True)
``` - sends email to all users
 - ```omero.cmd.SendEmailRequest(subject="test subject", body='test message', groupIds=[0,1,...], userIds=[0,1,...])
``` - sends email to selected active users
 - ```omero.cmd.SendEmailRequest(subject="test subject", body='test message', groupIds=[0,1,...], userIds=[0,1,...], inactive=True)
``` - sends email to selected users even they are inactive
 - CC and BCC parameters: 
```cc=[email1, email2,...], bcc=[email1, email2,...]```

**2. Reset Password** should be tested using the link on the login page.

WARNING: This PR doesn't change anything in reset password in IAdmin. It is very important to test if it failed on reseting password for LDAP user

```
INFO  [        ome.services.util.ServiceHandler] (2-thread-1)  Excp:	omero.cmd.HandleI$Cancel: ldap-user

Error: User is authenticated by LDAP server you cannot reset this password.
```

NOTE: resetting password is calling directly ```PasswordProvider``` instead of ```IAdmin.changeUserPassword()```. This is due to lack of ability to use of wrapper ```sec.runAsAdmin```.

New Reset Password functionality can be called by:

```
omero.cmd.ResetPasswordRequest(omename, email)
```

output:

```
---------- MESSAGE FOLLOWS ----------
Date: Thu, 28 Aug 2014 14:00:30 +0100 (BST)
From: from@example.com
To: test@example.com
Message-ID: <2145044955.1.1409230830106.JavaMail.mac@Mac-Book-Pro.local>
Subject: OMERO - Reset password
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Peer: 127.0.0.1

Dear Test User (test) your new password is: ***
------------ END MESSAGE ------------
```
What I mean is that this test is rather useless in it's current form. It doesn't tell me anything about what the ResetPasswordRequestI does and under which conditions it works and under which it doesn't.

After running the test I know that `ResetPasswordRequestI` will fail if the user used here doesn't exist in the DB. If we want to keep it like that for now, adding `expectedExceptions` to the `@Test` annotation will solve the issue and make the test pass.