Ublas feature0004 fast matrix multiplication

#### Hello uBLAS!

As the commit titles specify below, this pull request comes with the following changes -
1. A new **aligned_allocator** .
The allocator is placed in `detail/aligned_allocator.hpp`
2. A new aligned implementation the c_matrix class, **c_matrix_aligned** .
This class is placed in `matrix.hpp`
3. An implementation of the **fast_matrix_matrix_multiplication** .
This implementation is currently placed in `experimental/fast_matrix_multiplication.hpp`

---

The two pictures below are the benchmarks for the fast matrix-matrix multiplication. The graph indicates the performance boost obtained (10x, 20x, etc)

The following picture depicts a benchmark test in my Home-PC
![BenchmarkComputer](http://dl.dropboxusercontent.com/u/30013949/benchmark1C.png)
#### Configuration
| Property | Value |
| ----------- | -------- |
| Processor | i7-860 |
| CPUs     | 8         |
| RAM       | 4gb     |
| L1 cache | 32K   |
| L2 cache | 256K |
| L3 cache | 8192K |

The following picture depicts a benchmark test in my laptop
![BenchmarkComputer](http://dl.dropboxusercontent.com/u/30013949/benchmark1L.png)
#### Configuration
| Property | Value |
| ----------- | -------- |
| Processor | i5-3210M |
| CPUs     | 4         |
| RAM       | 4gb     |
| L1 cache | 32K   |
| L2 cache | 256K |
| L3 cache | 3072K |

**Note:** The above benchmarks are approximate and may vary (higher or lower). The benchmarks have been done for square matrices here but also perform good with rectangular matrices as well.

-----

Please do comment on any changes required before merging!