New shell commands to print properties

* properties: prints all framework properties in an array
* property <name>: prints the value of the given property
* sysprops: prints the environment variables of the process in an array
* sysprop <name>: prints the value of the given environment variable
Result of Framework.get_symbolic_name() changed

From "org.psem2m.pelix" to "pelix.framework", as the two projects are now totally separated.
RemoteShell handles orphan commands

The method used to send data to the client doesn't raise IOError anymore.
This allows to handle a command whereas the client has been disconnected.

This is necessary to handle commands like:

    $ echo stop 0 | nc localhost 9000
New default log level of the HTTP component

Now the default log level is the level of the root logger.
Remote shell port property update after instantiation

The binding port property of the remote shell is updated according to the
socket information.
If the configured port was 0, it is replaced by the one assigned by the OS.
iPOPO auto-restarts components after the update of their bundle

* Pelix:

  * new BundleEvent kinds: UPDATE_BEGIN and UPDATE_FAILED
  * update events are now correctly sent during Bundle.update() (but not Framework.update())
  * the UPDATED event is sent at the end of the update, i.e. after the ACTIVE event if the bundle has been restarted

* iPOPO:

  * if a component has the 'pelix.ipopo.auto_restart' property, its factory, name and properties
    are stored while its bundle is updated. It is reinstantiated of the update is successfully done.
  * if the update fails, the components are lost: the updater must restart them
Removed an import added by PyDev

from manifest import Bundle -> nothing related to Pelix
Keep the initialized value of a service controller

If a service controller has been set to False in __init__, then it is kept to False
when instantiating the component.
Correction of read_data() in HTTPRequestHandler

Corrects a typo and adds the missing convertion from string to integer for the Content-Length header
API change for Pelix Shell: IOHandler

Commands output and input are now handled by an IOHandler,
which handles the bytes/str conversion in Python 3.
It also provides a utility method, write_line, that applies a string.format()
using the given parameters.

The core and iPOPO commands have been updated to use this new API.
Added compatibility methods to pelix.utilities

- to_bytes: converts to str (Python 2) or bytes (Python 3)
- to_unicode: converts to unicode (Python 2) or str (Python 3)
- to_str: converts to the str type of the interpreter
Bug corrected in HTTP beans

Replaced content.encode() by to_bytes(content) to avoid an exception in
Python 3
Bugs corrected in the Shell

- Console: now checking if the bundle context is valid before
  stopping the framework
- Core: Python 3 behavior corrections
First implementation of Remote Services

- Services are exported if they have a "service.exported.configs" or a
  "service.exported.interfaces" property set

- "Dispatcher": dispatch requests from a remote consumer to the local
  service
- "Registry": registry of imported services

- XML-RPC transport (based on the standard library)
- Multicast service discovery (JSON datagrams)
=> Extensible model
First implementation of EventAdmin

EventAdmin is a pub-sub service defined in the OSGi specifications.
More information here:
http://felix.apache.org/site/apache-felix-event-admin.html

Added a ThreadPool utility class
EventAdmin: API change

- post() and send() now takes the topic and properties of the event as parameters, instead of an Event object
=> Simplifies the usage of the service
=> Avoids to import the Event type from the eventadmin module
Basic HTTP Service: Correction of the request log line

Now shows the request line and the response code, instead of just the latter.
Small improvement on remote shell port selection
The default level of HTTP logging is now INFO

INFO level allows to print component records and errors, but hides the requests records
EventAdmin shell commands and Event bean

- Event.__init__() can now be called without argument (and has a default topic).
  This is necessary to notify remote EventAdmin through RemoteServices

- Added a shell command component for event admin, adding the following commands:
  - send <topic> [<property=value> [...]] : sends an event with the given topic and properties (synchronous)
  - post <topic> [<property=value> [...]] : posts an event (asynchronous)