Perform basic sanity checks in signUp handler

This fixes Issue #69 recorded in the oBIX github repo. The root cause is
that if the href in the signUp device is an empty string, dirname returns
"." and such string should NOT be freed by the application or otherwise
it segfaults.

Before any node is added to the global DOM tree, sanity checks should have
been properly done on its href. Furthermore, as for the signUp handler, all
devices should go to the device lobby.

Valgrind tests passed when trying to sign up a device with following
invalid hrefs:
 . ""
 . " " or "		"
 . "." or ". " or ".."
 . "/"
 . "//"
 . "/."
 . "/obix/outsideofdevicelobby"

Instead of segfaults, oBIX server return an error contract gracefully.
English proof-read. 

`ERR_INVALID_HREF`
`ERR_ILLEGAL_HREF`

There is an ambiguity between these two constants:  What consitutes an "invalid href" as opposed to an "illegal href" when in English, they essentially mean the same thing?  The messages here for any client reading them is confusing and not very helpful.  My advice, I believe there should be a generic message for most sanity check failures that reads `Provided input is invalid: <reason>`.

Some helpful error messages in my mind would read:

* `Provided input is invalid: href attribute does not exist` - for missing or blank hrefs
* `Provided input is invalid: invalid device href location` - for href sanity check fails
* `Provided input is invalid: provided device contract does not exist` - for a blank input