destiny: using a bit field for tcp_header->data_offset is more convenient
In the current implementation the data offset is coded into an uint8_t.
Of this uint8_t only 3 bits apply for the data offset.
The remaining bits represent reserved flags for future use.
However, a proper bit masking is forgotten in order
to obtain the data offset part of this uint8_t.

Therefore, defining this uint8_t as a bit field allows a more convenient
method of access.
destiny: wireshark revealed wrong seq/ack nr. in tcp handshake
Capturing the tcp handshake with wireshark revealed that the
sequence and ack nrs. are not rfc compliant.
I did the changes based on
http://tools.ietf.org/html/rfc793#page-52 to http://tools.ietf.org/html/rfc793#page-72
destiny: when calling posix bind, the user will probably pass a
struct sockaddr_in6 and its corresponding sizeof() return value.
However, in further steps this struct is cast to a sockaddr6_t.
This cast by itself is not dangerous, since the former struct
encapsulates the sockaddr6_t plus an additional field.
But in later steps, memcpy is used with the former sizeof() value,
which was passed to the posix bind call.

Due to different sizes of struct sockaddr_in6 and sockaddr6_t,
the port value of the foreign address field gets overwritten.
But TCP expects the foreign address to be completely zero
in order to handle further connections with this socket.

destiny: simple copy and caching the struct.
A simple copy suffices here. In addition the socket is cached to serve multiple assignments.
destiny: wireshark compliant tcp flags
This enum is also used to set the tcp flags within a tcp header.
With the current values in this enum, wireshark is not able to
recognize the tcp segments as their actual tcp type,
and thus odd messages in wireshark appear.

destiny: reusing tcp flags for combinations
destiny: fixed condition for error handling
send_tcp returns either the length of the sent data,
or -1, if an error was detected.

The current implementation checks for != 1.
This results in executing the error case, although
there was semantically no error returned from send_tcp.
core/cortex-m: add missing NORETURNs to thread_arch
destiny: change byte order of ipv6_header->length
When accessing the length field of an ipv6_header a byte order switch (host -> network) is necessary.
Otherwise, it breaks calculations or the checksum and other tcp related computations.
Furthermore, when writing to ipv6_header->length it is important to switch this
from host byte order to network byte order.
core/include/arch/irq_arch.h: fix typo and trailing whitespaces
cpu: renamed cortexm_common->cortex-m3_common and cleanup
pnet: silence unused argument warnings
cpu:cortex_common: add core_panic function